分类 正则表达式 下的文章

正则表达式不包含某几个字符串以及反向引用

$str='<?aaaaphp';
$content = preg_replace('/(<\?(?!php|=|$))/i', '<?php echo \'\\1\'; ?>'."\n", $str );
var_dump($content);

结果:

string '<?php echo '<?'; ?>
aaaaphp' (length=27)

匹配<后面不是紧跟php或者=或者结尾的<?
\1
这个是反向引用,但是\1也达到了反向引用的效果,两者有什么区别呢???