PHP正则处理非匹配项
比如要将<?…?>标签以外的代码。例如给加上花括号。
要求是把下面的代码:
aaa<?…?>bbb<?…?>ccc
要处理成这样:
{aaa}<?…?>{bbb}<?…?>{ccc}
注意<?…?>
本文来源gao!%daima.com搞$代*!码$网3
搞代gaodaima码中间的内容和<?…?>以外的内容都是不固定的。
而我们需要处理的是<?…?>外面的东西。就是aaa,bbb,ccc那些东西。
——解决方案——————–
$a = array(‘/(.)<\?/’,’/\?>(.)/’);
$b = array(‘$1}<?’,’?>{$1′);
echo $c = preg_replace($a,$b,'{‘.$str.’}’);
自己测试一下
——解决方案——————–
$s = “aaa<?…?>bbb<?…?>ccc”;
echo preg_replace(“/(^|\?>)(.+)(<\?|$)/iU”, “\\1{\\2}\\3”, $s);
{aaa}<?…?>{bbb}<?…?>{ccc}