[date:20100322]の検索結果


コメント内のURLを自動的にリンクする処理の正規表現が、よく見るとかなり怪しかったの少し調べてみたのですが、それほど正確でなくてもいいと言うのであれば、

s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+

で良いみたいです。

なので、PerlでURLを自動的にリンクする処理は以下のような感じになります。

my $pattern = "s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+";
$text =~ s/($pattern)/<a href="$1">$1<\/a>/g;

ちなみに、正確なhttp URL の正規表現はこうらしい。

my $digit = q{[0-9]};
my $upalpha = q{[A-Z]};
my $lowalpha = q{[a-z]};
my $alpha = qq{(?:$lowalpha|$upalpha)};
my $alphanum = qq{(?:$alpha|$digit)};
my $hex = qq{(?:$digit|[A-Fa-f])};
my $escaped = qq{%$hex$hex};
my $mark = q{[-_.!~*'()]};
my $unreserved = qq{(?:$alphanum|$mark)};
my $reserved = q{[;/?:@&=+$,]};
my $uric = qq{(?:$reserved|$unreserved|$escaped)};
my $query = qq{$uric*};
my $pchar = qq{(?:$unreserved|$escaped|} . q{[:@&=+$,])};
my $param = qq{$pchar*};
my $segment = qq{$pchar*(?:;$param)*};
my $path_segments = qq{$segment(?:/$segment)*};
my $abs_path = qq{/$path_segments};
my $port = qq{$digit*};
my $IPv4address = qq{$digit+\\.$digit+\\.$digit+\\.$digit+};
my $toplabel = qq{(?:$alpha|$alpha(?:$alphanum|-)*$alphanum)};
my $domainlabel = qq{(?:$alphanum|$alphanum(?:$alphanum|-)*$alphanum)};
my $hostname = qq{(?:$domainlabel\\.)*$toplabel\\.?};
my $host = qq{(?:$hostname|$IPv4address)};
my $http_URL = qq{http://$host(?::$port)?(?:$abs_path(?:\\?$query)?)?};
my $pattern = $http_URL;

ぐはっ!

http://www.din.or.jp/~ohzaki/perl.htm#httpURL
[1792] Posted by kagahiro at 2010/03/22 14:48:13
0 point | Link (2) | Trackback (0) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (6 PV)
  2. 中島美嘉(なかしまみか) (2 PV)
  3. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
  4. FC2WiFI (2 PV)
  5. [FX]無料EA「NAKANE3」をバージョンアップしました #時間指定 #トレール #仲値トレード (2 PV)
  6. 三井住友海上火災保険、一部業務停止命令の見通し (2 PV)
  7. RSS/Atom 書籍 (2 PV)
  8. [PR]「お名前.comデスクトップクラウド for MT4」が6月30日まで1ヶ月払いでの契約で1ヶ月間料金無料 (1 PV)
  9. 円高ドル安 (1 PV)
  10. node.js (1 PV)

今月のアクセスランキング TOP 10

  1. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (7 PV)
  2. FC2WiFI (3 PV)
  3. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
  4. 日経平均株価(にっけいへいきんかぶか) (2 PV)
  5. 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (2 PV)
  6. [FX]無料EA「NAKANE3」をバージョンアップしました #時間指定 #トレール #仲値トレード (2 PV)
  7. eワラント (2 PV)
  8. アドセンス代替広告にアフィリエイト広告を表示する方法 (2 PV)
  9. 中島美嘉(なかしまみか) (2 PV)
  10. RSS/Atom 書籍 (2 PV)

アクセス統計

ディレクトリ

関連サイト