PHP正则表达式的逆向引用与子模式 php preg_replace应用
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
功能
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
replacement可以包含\\n形式或$n形式的逆向引用,n可以为0到99,\\n表示匹配pattern第n个子模式的文本,\\0表示匹配整个pattern的文本。
子模式
$pattern参数中被圆括号括起来的正则表达式,子模式的数目即从左到右圆括号的数目。(pattern即模式)
例子
需求:把OT函数由OT(a)改成OT(a,b),加一个参数
<?php
$str = <<<EOD
_Article_Source=OT(‘.div(PosID(‘bd_nav‘)>0)[1#].a(PosHTML(‘/b*‘)>0)[1#]‘)
;_Article_Author=OT(‘.div(PosClass(‘doc_top p9‘)>0)[1#].a(PosClass(‘b‘)>0)[1#]‘)
EOD;
$reg=‘/(=OT\(.+)(\)[\r,\n])/‘;
$replacement=‘$1,n$2‘;
echo preg_replace($reg,$replacement,$str);
?>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。