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

如下正则:

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

会提示:

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

原因是:

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

解决办法:

1、加一个转义符:

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

2、改其它定界符:如

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/b691c2d3887c4d781a74489a80b30c86.html