PHP正则的Unknown Modifier错误解决方法

时间:2021-05-26

如下正则:

$a='2<span><nobr>tóng<span class="h">dòng</span></nobr><br>垌</span>3';
echo preg_replace('/<span class="h">[^<]*?</span>/','',$a);

会提示:

Warning: preg_replace(): Unknown modifier 'p' in E:\phpLearn\test.php on line 12

原因是:

在正则模式中,用/做定界符,但正则中也含有/,因此会出现此错误,PHP误当后面的一个</span>中的斜杠是结束的定界符。

解决办法:

1、加一个转义符:

echo preg_replace('/<span class="h">[^<]*?<\/span>/','',$a);

2、改其它定界符:如

echo preg_replace('{<span class="h">[^<]*?</span>}','',$a);

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章