使用 preg_match,您可以使用 <name>
,它会将其添加到输出数组中。
对于preg_replace,我想匹配一个 url,例如 "http://<url>'s"
,然后将该 url 保留在替换字符串中,例如 "beforetheurl<url>aftertheurl"
这是我评论的一个例子:
<?php
$result = preg_replace("/(matched)/", 'before$1after', "matched");
echo $result;
输出:beforematchedafter
http://codepad.org/PANzOm6c
在替换字符串中使用反向引用。
echo preg_replace('#http://('w+).*$#', 'sld = $1', 'http://mysite.com');
// output: sld = mysite
手册中的更多内容:
替换可能包含 ' 或 (因为 PHP 4.0.4)$n,后一种形式是首选形式。每个此类引用都将替换为第 n 个捕获的文本 括号模式。n 可以是 0 到 99,''0 或 $0 表示 与整个模式匹配的文本。左括号被计算在内 从左到右(从1开始)得到的编号 捕获子模式。要使用反斜杠代替,它必须是 双倍("''''" PHP 字符串)。