检测URL并在其周围添加锚标记

时间:2012-03-10 16:13:26

标签: php html

最近我开发了一个带PHP的邮件列表系统。现在,我想确保如果有人键入了URL,PHP脚本会检测到它并在其周围添加锚标记。因此,如果我输入http://www.example.com,则会将其更改为<a href="http://www.example.com">http://www.example.com</a>。显示的文本只是URL并不重要,主要问题只是添加锚标签。

有没有一种简单的方法来解决这个问题?提前谢谢!

2 个答案:

答案 0 :(得分:0)

我使用以下正则表达式:

$link = preg_replace("/(http:\/\/[^\s]+)/", "<a href=\"$1\">$1</a>", $link);

它可能不完美,但在大多数情况下都有效。

答案 1 :(得分:0)

这是一个更好的版本:

$link = preg_replace("/(http:\/\/[^\s]+\.+[a-zAZ]{2,6})/","<a href=\"$1\">$1</a>", $link);

这个检查链接和域中是否有点(如.com .org .nl)