关于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);

类别:HTML,ASP,JSP,PHP  来源:本站原创  作者:hpping  日期:2010-03-02 11:35

上一条:关于PHP5 Session生命周期介绍
下一条:HTML5定稿了,为什么原生App世界将被颠覆