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