- 601 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 18:25:15 ]
- >>600
自分で '%' . unpack('H2', $1) なんてのを入れてるじゃん。 sub html_escape { my $str = $_[0]; $str =~ s/&(?!(?:\w+|#(?:[Xx][0-9A-Fa-f]+|[0-9]+));)/&/g; $str =~ s/([\x00-\x09\x0B\x0C\x0E-\x1F"'<>\x7F])/${ \ ord $1 };/g; $str; } sub uri_escape { my $str = $_[0]; $str =~ s/%(?![0-9A-Fa-f][0-9A-Fa-f])/%25/g; $str =~ s/([\x00-\x20"'<>\\^`{|}\x7F-\xFF])/ sprintf '%%%02X', ord $1 /eg; $str; } $i =~ s{ \[\[ (.+?) \]\] } { my($url, $face) = ($1, $1); $url = uri_escape($url); $face = html_escape($face); qq|<a href="$url">$face</a>|; }egx;
|

|