如何将文本中的URL转换为HTML链接?

时间:2009-05-08 14:54:28

标签: html perl url

我正在Perl中编写一个论坛类型的讨论板,并希望自动将http://www.google.com更改为HTML链接。这也应该是安全的,并且在安全方面也是错误的。是否有一种快速,简单,安全的方式自动添加链接?

1 个答案:

答案 0 :(得分:8)

尝试这样的事情:

use Regexp::Common qw /URI/;

$text =~ s|($RE{URI}{HTTP})(?!</a>)|<a href="$1">$1</a>|g

这里的关键是使用Regexp :: Common :: URI,它可能比我能想到的更彻底的url匹配器。另外,我在最后做negative lookahead assertion以确保该网址尚未包含在链接中。最后一部分并不完全彻底,因为有人可能会做这样的事情:

<a href="http://www.mysite.com">http://www.mysite.com is my website</a>

要正确执行此操作,您需要解析整个提交文本,并仅替换不属于链接的网址。