Php 正则表达式模式,用于匹配带有或不带http以及不带标记的url

Php 正则表达式模式,用于匹配带有或不带http以及不带标记的url,php,regex,expression,Php,Regex,Expression,我一点也不擅长正则表达式 我想做什么?我想匹配一个特殊字符串中的所有url 基本上,我想匹配所有URL,用将它们括起来,并为aon工作。at/this?true 应该匹配的内容: 你好!我是一个文本点击这里,有很多内容 网址www.aon.at?this=true和www.aon.at。所有这些都应该匹配 正确地并且也为aon.at/this工作?正确的 我已经试过了 (a)以下两种::::[a-z[a-z[[[a-z[[a-a-z[[[w-[[w-[[w-[[[a-a-z[[a-a-z[[a-

我一点也不擅长正则表达式

我想做什么?我想匹配一个特殊字符串中的所有url

基本上,我想匹配所有URL,用
将它们括起来,并为aon工作。at/this?true

应该匹配的内容:

你好!我是一个文本点击这里,有很多内容 网址www.aon.at?this=truewww.aon.at。所有这些都应该匹配 正确地并且也为aon.at/this工作?正确的

我已经试过了

(a)以下两种::::[a-z[a-z[[[a-z[[a-a-z[[[w-[[w-[[w-[[[a-a-z[[a-a-z[[a-a-z[[a-z[[[w-[w-[[w-[w-[[[w-[[[w-[[[[[w-[[[[[C-z0-z0-10-9-9-9-9%[9%[9%[9%[9%]]]])))))))))以下以下以下以下以下以下两个::::::::::::)以下以下以下以下以下以下以下((((()))))两个:(:(:(:(:(::::::::::::::::::::::::::::::::::::::::::)))\]{};:“,«»””))

在页面上,但它没有按我希望的方式工作。正如您所看到的,正则表达式与
匹配,但已找到解决方案

有了这个解决方案,一切都很好

$pattern = '(?xi)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`\!()\[\]{};:\'".,<>?«»“”‘’]))';     
return preg_replace("!$pattern!i", "<a href=\"\\0\" rel=\"nofollow\" target=\"_blank\">\\0</a>", $str); 
$pattern='(?xi)\b((?:https?://)[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()]+\([^\s()]+\([^\s()])*)+(?:([^\s()]+\)+(([^\s())+)+([^\s())+)*([^\s())+)*([^\s())+)+)*([^-+)+)+(^-+)+)*([^-+)+)*(^-[^+)+)+)+)+(^-[^-[^-+)+)+)+)+;
返回preg_replace(“!$pattern!i”、“”、$str);
$pattern = '(?xi)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`\!()\[\]{};:\'".,<>?«»“”‘’]))';     
return preg_replace("!$pattern!i", "<a href=\"\\0\" rel=\"nofollow\" target=\"_blank\">\\0</a>", $str);