【问题标题】:How can I convert URLs in text to HTML links?如何将文本中的 URL 转换为 HTML 链接?
【发布时间】:2009-05-08 14:54:27
【问题描述】:

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

【问题讨论】:

    标签: html perl url


    【解决方案1】:

    试试这样的:

    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>
    

    要正确执行此操作,您需要解析整个提交文本,并仅替换尚未成为链接一部分的 url。

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 2013-03-30
    • 2010-12-29
    • 2020-08-25
    • 2020-08-26
    • 2014-02-22
    相关资源
    最近更新 更多