php过虑html标签的正则表达式preg_replace("/<.+?>/t","",$str);
preg_replace("/<.+?>/t","",$str);其中不明白?起到的作用.只知道表示出现0或1次.在这里他好象没有意义一样,但是如果不要?结果相差很大还有...
preg_replace("/<.+?>/t","",$str);
其中不明白?起到的作用.只知道表示出现0或1次.在这里他好象没有意义一样,但是如果不要?结果相差很大
还有后面的那个t也不知道有什么用? 展开
其中不明白?起到的作用.只知道表示出现0或1次.在这里他好象没有意义一样,但是如果不要?结果相差很大
还有后面的那个t也不知道有什么用? 展开
1个回答
展开全部
?是非贪婪匹配的标志,这么说吧
这里的<.+?>由于.是匹配非回车换行的所有字符,需要用?来限制成非贪婪的匹配,可以保证匹配到合适的就不再往后走了,也就是找到第一个>后就不再继续了。
但如果不限制写成<.+>,就是贪婪匹配,一组匹配能匹配多远匹配多远,比如<ooo>haha<abad>ee的时候就要一直往后找>,直到匹配到<ooo>haha<abad>,而这个肯定是你不想要的。
//-----
\t是制表符。但/<.+?>/t结尾那个不知道啥意思,楼下补充
这里的<.+?>由于.是匹配非回车换行的所有字符,需要用?来限制成非贪婪的匹配,可以保证匹配到合适的就不再往后走了,也就是找到第一个>后就不再继续了。
但如果不限制写成<.+>,就是贪婪匹配,一组匹配能匹配多远匹配多远,比如<ooo>haha<abad>ee的时候就要一直往后找>,直到匹配到<ooo>haha<abad>,而这个肯定是你不想要的。
//-----
\t是制表符。但/<.+?>/t结尾那个不知道啥意思,楼下补充
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询