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

Tim*_*mmy 3 html url perl

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

bmd*_*cks 8

尝试这样的事情:

use Regexp::Common qw /URI/;

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

这里的关键是使用Regexp :: Common :: URI,它可能具有比我能想到的更彻底的url匹配器.此外,我在最后做一个负前瞻断言,以确保该URL不在链接中.最后一部分并不完全彻底,因为有可能有人可以这样做:

<a href="http://www.mysite.com">http://www.mysite.com is my website</a>
Run Code Online (Sandbox Code Playgroud)

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