1. Home
  2. Archive
  3. perlの置換でeオプション

perlの置換でeオプション

テキストのURLにリンクを貼って、リンクテキストだけURLデコードするっていう置換をしたかったんだけど、どうすればいいかわかんなくてsugyanに教えてもらった。

use Regexp::Common qw/URI/;
use URI::Escape;

$text =~ s!($RE{URI}{HTTP}{-scheme =>'(https|http)'})!qq[<a href="$1">] . uri_unescape($1) . qq[</a>]!ge;

なるほど。eオプションの使い方が今いちわかってなかった。sugyan++

コメント一覧

  1. xaicron 2010年1月27日 01時11分

    URI::Findをつかうという手もありますね。

  2. hokaccha 2010年1月27日 09時22分

    なるほど!知りませんでした。ありがとうございます!

コメントフォーム

※HTMLタグは使用できません。