[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 するようにしました。
| Permalink | トラックバック ( 0 ) | コメント ( 0 / 0 ) | すぎた / 2007-02-09 12:39:58 |