[2007-02-09]
XML::RSSで
このブログからrssの出力をするのに、perl の XML::RSS モジュールを使っているのですが、content:encoded を出力するところで、以下のようなことになっています。
sub encode_text {
my $text = shift;
$text =~ s/&(?!(#[0-9]+|#x[0-9a-fA-F]+|\w+);)/&/g;
$text =~ s/&($entities);/$entity{$1}/g;
$text =~ s/</</g;
return $text;
}
これだと、もともと <table> などと書いて <table> と表示してほしいところが、直接タグの扱いになってしまって、livedoor reader などで表示されないようになってしまいました。
なので、XML::RSS モジュールに渡す前に自前で s/&/&/gs するようにしました。
[トラックバック]
トラックバックPingURL : http://blog.d-pad.co.jp/sugi/dblog/ping.fcgi/24
言及リンクのないページからのトラックバックは拒否される仕様になっておりますのでご注意ください。
[コメント]
コメントを記入する