PHP-preg_替换反向引用

PHP-preg_替换反向引用,php,preg-replace,backreference,Php,Preg Replace,Backreference,我在理解如何使用preg\u replace进行反向引用时遇到了很大的问题 我有一个纯文本字符串,希望用链接的HTML语法替换每个链接。因此,“www.mydomain.tld”或“或”应包装在HTML a标记中。我已经找到了一个在线工作的函数,但我想知道如何自己做 在我找到的函数中,这是替换: "\\1<a href=\"http://\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>" “\\1” 我在那里看到一些转义

我在理解如何使用
preg\u replace
进行反向引用时遇到了很大的问题

我有一个纯文本字符串,希望用链接的HTML语法替换每个链接。因此,“www.mydomain.tld”或“或”应包装在HTML a标记中。我已经找到了一个在线工作的函数,但我想知道如何自己做

在我找到的函数中,这是替换:

"\\1<a href=\"http://\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>"
“\\1”
我在那里看到一些转义引号和这些位:
\\1
\\2

根据PHP文档,这些是反向引用。但是我如何使用它们,它们做什么


我在规范中找不到这方面的信息,因此任何帮助都将不胜感激

您可能希望使用类似于以下内容的内容:

$string = preg_replace('/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ ', "<a href=\"$1\">Link</a>", $yourtext);
$string=preg\u replace('/^(https?:\/\/)?([\da-z\.-]+)\([a-z\.]{2,6})([\/\w\.-]*)*\/?$/,'',$yourtext);
一些有用的链接:
使用此工具尝试正则表达式:
Regex from:

命名反向引用:

这将为您完成这项工作。请参阅下面的解释,了解它是如何工作的

$string = 'some text www.example.com more text http://example.com more text https://www.example.com more text';

$string = preg_replace('#\b(?:http(s?)://)?((?:[a-z\d-]+\.)+[a-z]+)\b#', "<a href='http$1://$2'>http$1://$2</a>", $string);

echo $string; // some text <a href='http://www.example.com'>http://www.example.com</a> more text <a href='http://example.com'>http://example.com</a> more text <a href='https://www.example.com'>https://www.example.com</a> more text
http$1://
创建http如果HTTPS,则反向引用
$1
将包含一个
's'


$2
将包含域名。我们将URL所在的链接设置为链接文本。

您看到了吗?这些不是反向引用。在此上下文中,它们是匹配组占位符。如何在
$1333$2
中转义数字333以及两个反向引用之间的数字?
<a href='http$1://$2'>http$1://$2</a>