http://b.hatena.ne.jp/keyword/%E6%A5%AD%E7%95%8C?mode=rss&sort=count
こちらのrssを取得してパースし、オブジェクトに入れています。
ところが
Entity: line 499: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE3 0x2E 0x2E 0x2E in
というようなエラーが発生します。
web上ではエラーで表示されませんが、テキストで保存してみると、
最後のエヴァンゲリオンのrss部分の
動き.
という場所があります。
それをpreg_replaceで""(なにもなし)へ置換しました。
すると、問題なく表示できました。
http://q.hatena.ne.jp/1180553984
こちらの件もあり、RSSのパース処理で
毎回エラー文字が出るたびにその部分を修正するのは、現実的ではない気がします。
(無限にこういう文字がありそうだし、
毎回修正していてはエラーばかり表示されるので・・・)
RSSを取得してパースし、後はレイアウトとか調整して出力しているだけです。
こういう場合、どのようにすればいいのでしょうか?
XMLを甘く見ていました・・・。
どうもありがとうございます。
試してみたところ、今回のエラーは解消されました!
コンバートすごいですね・・・。
ただ、
http://q.hatena.ne.jp/1180553984
こちらのエラーには反映されませんでした。
非UTF-8文字列の対処法が出来ましたが、
不正な文字はまた別のようですねぇ。
この関数はちょっとすごいと感動しました(笑)