Perl如何过滤html标签
比如一串字符串
<div><b>123</b></div>
如果只想拿到123怎么办呢?
用perl的正则表达式可以很容易的做到。
$str =~ s/<([a-zA-Z]\w*)(\s+\S+)*>(.+?)<\/\1>/$3/sg;
这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了。
如果上边的看不懂,那看个简单的:
$retPromotionInfo=~s/<.*?>//g;
$retPromotionInfo=~s/<.*?>//g;
上边的问号代表懒惰匹配,如果不加问号,会把中间的内容也过滤掉。
第二行表示对转义过的标签也进行过滤,
< 代表 <
> 代表 >
好了,就到这里吧。
原文:http://blog.csdn.net/hongchangfirst/article/details/37693005
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。