Perlプログラムに関する各種メモ書き

特定のタグのエスケープをやめたい。

入力されたデータのタグをエスケープするには例えば下記のようなルーチンで

やったりしますが

sub escape_tag() {
    my ($str) =@_ ;
    return unless(defined $str);
    $str =~s/&/&/g;
    $str =~s/</</g;
    $str =~s/>/>/g;
    $str =~s/"/"/g;
    $str =~s/,/&#44;/g ;
    return $str;
}

これだと全てのタグがエスケープされてしまいます。

そこで特定のタグ(例えば<a> <img>)のみエスケープしないようなモジュールがCPAN

にないかと探したところ。。。

こんなの発見

■ HTML::EscapeEvil (Testクリア 6件)

http://search.cpan.org/~holly/HTML-EscapeEvil-0.05/

■ Tripletail::TagCheck (Testクリア なし?)

http://search.cpan.org/~mikage/Tripletail-0.17/lib/Tripletail/TagCheck.pm

■ Template-Toolkitを使う場合は

http://logic.moo.jp/memo.php/archive/318/


関連エントリー

No.319
11/30 17:38

edit

perlモジュール