watermint.org

Takayuki Okazaki’s blog

いつもブログの編集・投稿にはMarsEditというソフトを使っているんですが、最近、投稿するとHTMLタグがすべて消えてしまうという現象に悩まされていました。MarsEditにはXMLRPCのログを記録・表示できるモードがあり通信ログを確認してみましたがそちらは問題ない感じ。ひょっとしてWordPressのバージョンアップの時に何らかのセキュリティポリシーが変わったのかもと思って調べてみるもそれらしい項目が見あたりません。
そこできちんとググッてみたところ、どうやらlibxml2のバグだということが分かりました。libxml2がパースのときに<や>、&などをばっさり切り落としてしまうようです。このバグはlibxml2 2.7.1や2.7.2あたりで再現するようで、2.7.3では修正されたそうです。そこで、phpinfoでリンクされているバージョンを調べたところ 2.7.2・・・。レンタルサーバで動かしているので自分でリンクし直すこともできません。しばらく待つしかないんでしょうねえ・・・。

4 Comments

  1. kei
    4:52 PM on 3月 22nd, 2009

    岡崎さんのこの日記で MarsEdit に興味を持ったので、ついでに調べて MarsEdit ユーザになりました。
    ウチもレンタルサーバ(さくらインターネット)ですが、wordpress 側のファイルを少し編集するだけでバグ回避できましたので、参考までにどうぞ。
    http://apribase.net/2009/03/22/marsedit-wordpress/

    ぐぐって見つけた元記事は以下になります。
    http://blog.hoofoo.net/2009/01/14/wordpress-patch-for-problamatic-libxml2-version/

  2. こんにちは!うちのレンタルサーバもさくらインターネットなんですよねえ。

    ご指摘いただいた記事も実は見つけていたんですが、このワークアラウンドを適用するほど困っていなかったのと、WordPress本体の構造をよく知らないうちはパッチの適応をやめておこうと思っていました。

    コードを見る限り大丈夫だとは思うんですが、WordPressって全体ではわりと大きいプログラムなので (^^ゞ

  3. [...] 「WordPressのXML-RPC投稿でHTMLタグが消えるのはlibxml2のバグ」で書いたとおり、libxml 2のバグのおかげでMarsEditからブログの記事投稿ができなくなってしばらく経ちますが、さくらインターネ [...]

  4. [...] watermint.org ? Blog Archive ? WordPressのXML-RPC投稿でHTMLタグが消えるのはlibxml2のバグ [...]