Template-ToolkitでURI Unescape
URI Escapeするときはuriフィルタ(urlフィルタ)でいいんだけど、その逆のURI Unescapeのやり方が(TT標準内には)見つけられなかった。
のでCGI.pmにやらせてみた。
#! /usr/bin/perl use Template; Template->new->process(\*DATA); __DATA__ [% SET link = 'http://example.jp/wiki/%E3%83%86%E3%82%B9%E3%83%88'; USE CGI('uri=' _ link.replace(';','%3b')); CGI.params.uri; %]
実行結果
http://example.jp/wiki/テスト
注意:CGI.pmのUNICODE周りの問題で文字化けする可能性あり。(TT側で調整可能)
あー、セミコロンが入ってるとダメだったので書き換えた。