这是一个创建于 5101 天前的主题,其中的信息可能已经有所发展或是发生改变。
[code]
$return = preg_replace(array("/(?<=[^\]A-Za-z0-9-=\"'\\/])(https?|ftp|qqdl|thunder|bdhd|qvod|gopher|news|telnet|mms){1}:\/\/([A-Za-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/ies","/([\n\s])www\.([a-z0-9\-]+)\.([A-Za-z0-9\/\-_+=.~!%@?#%&;:$\[\]\\()|]+)((?:[^,\t\s\n\r]*)?)/is","/(?<=[^\]A-Za-z0-9\/\-_.~?=:.])([A-Za-z0-9\-_.]+)@([A-Za-z0-9\-_][.][A-Za-z0-9\-_.]+)/is"),array("urlcut('\\1://\\2')","\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a>","<a href=\"mailto:\\1@\\2\">\\1@\\2</a>"),$return);
echo $return;
[/code]
这个正则换下来之后中文URL就悲剧了,对含有中文的URL有木有好方法?
4 条回复 1970-01-01 08:00:00 +08:00  | | 1 lizheming 2012 年 3 月 9 日 我搅得直接匹配头尾不就挺好的么?干嘛需要这么麻烦啊…… |
 | | 3 liyandong 2012 年 3 月 9 日 唉唉。还是用笨方法把。。。[A-Za-z0-9\/\-_+=.~!%@?#%&;:$\\()\[\]\.\x80-\xff|]+ |