PHP正则表达式查找并修改当前匹配项

PHP正则表达式查找并修改当前匹配项,php,html,regex,Php,Html,Regex,我有一个字符串,我需要替换printing'中的任何url; $str='Lorem Ipsum只是http://www.lipsum.com/ “印刷术”; $pattern='/\b((https?:\/\/\/\ www.)[\w.\/-?=&\\]+)(?=\s)/i'; $replace=''; echo preg_replace($pattern,$replace,$str); 输出: Lorem Ipsum is simply dummy text of <a href="

我有一个字符串,我需要替换
printing'中的任何url;
$str='Lorem Ipsum只是http://www.lipsum.com/ “印刷术”;
$pattern='/\b((https?:\/\/\/\ www.)[\w.\/-?=&\\]+)(?=\s)/i';
$replace='';
echo preg_replace($pattern,$replace,$str);
输出:

Lorem Ipsum is simply dummy text of <a href="http://www.lipsum.com/">http://www.lipsum.com/</a> the printing'
Lorem Ipsum只是印刷的虚拟文本'

$ouputString
无效,您需要转义双引号。这只是一个示例,不完全是真实的代码,我只需要answer@AlexP如果字符串被单引号括起,则不会。。。正如《凤凰社》所说,这个问题以前已经被问过很多次了。试着先四处搜索。和只是几个例子。-1和投票结束这是一个重复,你甚至没有费心表明你自己做了任何努力。
$1
表示比赛中的第一个捕获组,在这种情况下是URL。模式不匹配这个链接和其他链接需要匹配的字符,只是在中间添加到<代码>……/代码>。现在我将添加
=
&
$str='Lorem Ipsum is simply dummy text of http://www.lipsum.com/ the printing';
$pattern='/\b((https?:\/\/|www.)[\w.\/-?=&#]+)(?=\s)/i';
$replace='<a href="$1">$1</a>';
echo preg_replace($pattern, $replace, $str);
Lorem Ipsum is simply dummy text of <a href="http://www.lipsum.com/">http://www.lipsum.com/</a> the printing'