Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用preg_replace创建正确的URL_Url_Preg Replace - Fatal编程技术网

如何使用preg_replace创建正确的URL

如何使用preg_replace创建正确的URL,url,preg-replace,Url,Preg Replace,我试图找到preg_replace的模式,它将匹配段落中格式错误的HTML链接/URL,并用正确的链接替换它们。我真的不知道该怎么开始 这就是我需要URL的形成方式(需要包括http://): 错误的URL可能以以下形式出现: example.com www.example.co.uk <a href="example.com">example.com</a> <a href=example.com>example.com</a> examp

我试图找到preg_replace的模式,它将匹配段落中格式错误的HTML链接/URL,并用正确的链接替换它们。我真的不知道该怎么开始

这就是我需要URL的形成方式(需要包括http://):


错误的URL可能以以下形式出现:

example.com
www.example.co.uk
<a href="example.com">example.com</a>
<a href=example.com>example.com</a>
example.com
www.example.co.uk
任何帮助或建议都将不胜感激

谢谢


eb_dev

Ok找到了一个似乎运行良好的解决方案:

$msg = preg_replace(
                   "#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is",
                   "$1<a href=\"$2\" target=\"_blank\">$2</a>",
                   $msg
                   );

$msg = preg_replace(
                   "#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is",
                   "$1<a href=\"http://$2\" target=\"_blank\">$2</a>",
                   $msg
                   ); 
$msg=preg\u replace(
“#”(^ |[\n])([\w]+?:/[^\”\n\r\t
$msg = preg_replace(
                   "#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is",
                   "$1<a href=\"$2\" target=\"_blank\">$2</a>",
                   $msg
                   );

$msg = preg_replace(
                   "#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is",
                   "$1<a href=\"http://$2\" target=\"_blank\">$2</a>",
                   $msg
                   );