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

3

我正在使用Perl编写一个论坛类型的讨论板,希望自动将http://www.google.com更改为HTML链接。这也应该是安全的,并且要保证安全性。有没有一种快速、简单、安全的方法可以自动添加链接?

1个回答

8
尝试像这样:
use Regexp::Common qw /URI/;

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

关键在于使用Regexp::Common::URI,它可能比我能想出的任何内容都有更全面的url匹配器。此外,我在结尾处进行否定预查断言以确保该url尚未在链接中。最后一部分并不完全彻底,因为有可能有人会这样做:
<a href="http://www.mysite.com">http://www.mysite.com is my website</a>

为了正确地完成这个任务,您需要解析整个提交文本,并仅替换那些不是链接一部分的URL。

请参见http://stackoverflow.com/questions/819144/stripping-an-url-from-a-text/819972#819972。 - Sinan Ünür

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接