Perl如何过滤html标签
发布时间:2020-12-15 23:55:49 所属栏目:大数据 来源:网络整理
导读:比如一串字符串 divb123/b/div 如果只想拿到123怎么办呢? 用perl的正则表达式可以很容易的做到。 $str =~ ?s/([a-zA-Z]w*)(s+S+)*(.+?)/1/$3/sg; 这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了
比如一串字符串 <div><b>123</b></div> 如果只想拿到123怎么办呢? 用perl的正则表达式可以很容易的做到。 $str =~ ?s/<([a-zA-Z]w*)(s+S+)*>(.+?)</1>/$3/sg; 这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了。 如果上边的看不懂,那看个简单的: $retPromotionInfo=~s/<.*?>//g; 上边的问号代表懒惰匹配,如果不加问号,会把中间的内容也过滤掉。 第二行表示对转义过的标签也进行过滤, < 代表 < > 代表 > 好了,就到这里吧。
原文:http://www.voidcn.com/article/p-twcuiniz-baq.html 作者:hongchangfirst hongchangfirst的主页:http://blog.csdn.net/hongchangfirst (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |