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

  作者:bea

如下正则: $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_replac
如下正则:



$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);





有用  |  无用

猜你喜欢