Perl怎样过滤html标签

比方一串字符串

<div><b>123</b></div>


假设仅仅想拿到123怎么办呢?

用perl的正則表達式能够非常easy的做到。

$str =~  s/<([a-zA-Z]\w*)(\s+\S+)*>(.+?)<\/\1>/$3/sg;


这样的仅仅能过滤掉左右对称的标签,假设你的字符串里的html标签不正确称。或者是有缺陷,这样的方式就做不了了。

假设上边的看不懂。那看个简单的:

$retPromotionInfo=~s/<.*?

>//g;
$retPromotionInfo=~s/&lt;.*?

&gt;//g;


上边的问号代表懒惰匹配。假设不加问号,会把中间的内容也过滤掉。


第二行表示对转义过的标签也进行过滤,

&lt; 代表 <

&gt; 代表 >


好了,就到这里吧。

原文:http://blog.csdn.net/hongchangfirst/article/details/37693005

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


转载于:https://www.cnblogs.com/lxjshuju/p/7039364.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值