PHP正则的Unknown Modifier错误解决方法
author:一佰互联 2019-04-30   click:207

如下正则:

$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 est.php on line 12

原因是:

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

解决办法:

1、加一个转义符:

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

2、改其它定界符:如

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