Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将文本中的URL转换为HTML链接?_Html_Perl_Url - Fatal编程技术网

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

如何将文本中的URL转换为HTML链接?,html,perl,url,Html,Perl,Url,我正在用Perl编写一个论坛类型的讨论板,并希望自动更改为HTML链接。这也应该是安全的,而且在安全方面是错误的。有没有一种快速、简单、安全的方法可以自动添加链接?试试下面的方法: use Regexp::Common qw /URI/; $text =~ s|($RE{URI}{HTTP})(?!</a>)|<a href="$1">$1</a>|g <a href="http://www.mysite.com">http://www.mys

我正在用Perl编写一个论坛类型的讨论板,并希望自动更改为HTML链接。这也应该是安全的,而且在安全方面是错误的。有没有一种快速、简单、安全的方法可以自动添加链接?

试试下面的方法:

use Regexp::Common qw /URI/;

$text =~ s|($RE{URI}{HTTP})(?!</a>)|<a href="$1">$1</a>|g
<a href="http://www.mysite.com">http://www.mysite.com is my website</a>
使用Regexp::Common qw/URI/;
$text=~s |($RE{URI}{HTTP})(?!)| | g
这里的关键是使用Regexp::Common::URI,它可能比我能想到的任何东西都有一个更彻底的url匹配器。最后我还做了一个测试,以确保url不在链接中。最后一部分并不是很彻底,因为有人可能会这样做:

use Regexp::Common qw /URI/;

$text =~ s|($RE{URI}{HTTP})(?!</a>)|<a href="$1">$1</a>|g
<a href="http://www.mysite.com">http://www.mysite.com is my website</a>

要正确执行此操作,您需要解析整个提交文本,并仅替换出链接中尚未包含的URL。

请参阅