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

2015-03-11 14:18:42

 
PHP正则时出现Unknown Modifier错误解决方法
 
如下正则:
 
$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);

 

为您推荐