php strip_tags函数大于号小于号遇到的坑!

strip_tags

功能:去掉 HTML 及 PHP 的标记。

语法: string strip_tags(string str);

返回值: 字符串

说明:本函式可去掉字符串中包含的任何HTML及 PHP 的标签。若是字符串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。

例如:

需要去除的html源码字符串为

<p class="aa">已知a<b,a=1,b小于10,则b的取值范围是?</p>

我们使用strip_tags()函数过滤该字符串,希望得到的值为

已知a<b,a=1,b小于10,则b的取值范围是?

但是实际得到的值是

已知a

其他的字符串哪去了呢?因为该字符串中有小于号,被认定为了html标签的开头,结合最后一个大于号,就认定为这一段全都是html标记。

解决方式:

我们可以使用php的preg_replace()函数进行正则表达式替换掉字符串中的html标记,使用方法:

$content = '<p class="aa">已知a<b,a=1,b小于10,则b的取值范围是?</p>';
$reg = "/<\/?[a-z]+( [^>]*)?>/";
$content = preg_replace($reg, "", $content);
echo $content;

输出结果为

已知a<b,a=1,b小于10,则b的取值范围是?

这样就解决了上述问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值