2010-05-12 46 views
0

輸入:我們得到一些純文本作爲輸入字符串,我們必須高亮顯示那裏的所有URL,其中<a href={url}>{url></a>用於URL匹配的正則表達式(PCRE)

一段時間以來,我用http://flanders.co.nz/2009/11/08/a-good-url-regular-expression-repost/的正則表達式,我修改了幾次,但它是爲另一個問題構建的 - 檢查整個輸入字符串是否爲URL。

那麼,你在這些問題中使用了哪些正則表達式?

UPD:這將是很好,如果答案是與php: - [

回答

1

在可用幾個模塊,在CPAN看看:

其中,後者是多一點寬容。正則表達式在源代碼中可用(例如,the latter's)。

例如:

#! /usr/bin/perl 

use warnings; 
use strict; 

use URI::Find::Schemeless; 

my $text = "http://stackoverflow.com/users/251311/zerkms is swell!\n"; 

URI::Find::Schemeless 
    ->new(sub { qq[<a href="$_[0]">$_[0]</a>] }) 
    ->find(\$text); 

print $text; 

輸出:

<a href="http://stackoverflow.com/users/251311/zerkms">http://stackoverflow.com/users/251311/zerkms</a> is swell!