首先我有这个代码
function Huemix_content_filter_qm($content){
$item = '\?';
$before='<span class="kindared">';
$after='</span>';
$content = preg_replace("|($item)|","$before$1$after",$content);
$content = preg_replace("|(<[^>]+?)($before($item)$after)([^<]+?>)|","$1$3$4",$content);
return $content;
}
add_filter('the_content', 'Huemix_content_filter_qm');
我可以支持整个代码但这三个变量$1$3$4
任何人都可以告诉我他们是什么,因为我没有定义他们!
答案 0 :(得分:0)
来自the manual:
替换可能包含形式的引用\ n或(自PHP 4.0.4起) $ n,后一种形式是首选形式。每个这样的引用将被第n个带括号的模式捕获的文本替换。 n可以是0到99,\ 0或$ 0是指整个模式匹配的文本。打开括号从左到右计数(从1开始)以获取捕获子模式的编号。要替换使用反斜杠,必须加倍(“\\”PHP字符串)。
基本上每个都代表正则表达式中括号中的匹配。数字代表它匹配的是什么。 $1
表示与(<[^>]+?)
匹配的内容,$3
匹配($item)
,$4
匹配([^<]+?>)
。