株式会社ライブキャストロゴ 株式会社ライブキャスト

flashcast:フリーで働くITエンジニア集団のブログ: WordPress移行計画(Bloggerからの記事の移行編)の続きです。

MT Style Post Nameプラグインを導入して、Bloggerの記事をRSSでインポートし、パーマリンクをあわせようとしたのですが、うまくいかない部分がありました。

flashcast:フリーで働くITエンジニア集団のブログ: 2地点の緯度経度から距離を求める(global化 1/2)
Blogger:http://blog.flashcast.jp/2009/08/2global12.html
WordPress:http://flashcast.jp/blog/2009/08/2-global-1-2.html

flashcast:フリーで働くITエンジニア集団のブログ: Stray ChildをFirefox 3.5対応
Blogger:http://blog.flashcast.jp/2009/09/strayed-childfirefox-35.html
WordPress:http://flashcast.jp/blog/2009/09/strayed-child-firefox-3-5.html

よく見ると、区切り文字の「-」や「/」、「.」の扱いに差異があることに気付きました。

なので、MT Style Post Nameプラグインを改造することにしました。

●改造前

return preg_replace('/[^%a-zA-Z0-9 ¥(¥)_-]/', '-', $title);

●改造後

return preg_replace('/[^%a-zA-Z0-9 ()_-]/', '', preg_replace('/[.]/', '', preg_replace('[/]', '', $title)));

区切り文字の「-」や「/」、「.」を空文字列に置換しています。あまりスマートではありませんが、これでパーマリンクが一致するようになると思います。
※ 但し、半角スペースは「-」になるようです。

インポートしなおします。

flashcast:フリーで働くITエンジニア集団のブログ: 2地点の緯度経度から距離を求める(global化 1/2)
Blogger:http://blog.flashcast.jp/2009/08/2global12.html
WordPress:http://flashcast.jp/blog/2009/08/2global12.html

flashcast:フリーで働くITエンジニア集団のブログ: Strayed ChildをFirefox 3.5対応
Blogger:http://blog.flashcast.jp/2009/09/strayed-childfirefox-35.html
WordPress:http://flashcast.jp/blog/2009/09/strayed-childfirefox-35.html

一致するようになりました!が、今度は別の問題が・・・一部の記事で、まだ、一致していないものがあります。

flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その19 CentOS 5.3 アンチウィルスソフトのバージョンアップ
Blogger:http://blog.flashcast.jp/2009/04/centos-53_09.html
WordPress:http://flashcast.jp/blog/2009/04/centos-53-2.html

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(google編)
Blogger:http://blog.flashcast.jp/2009/07/iphone-os-30safarigpsweb_28.html
WordPress:http://flashcast.jp/blog/2009/07/iphone-os-30safarigpsweb-applicationapple.html

BloggerとWordPressの仕様の違いによるもの(重複したパーマリンクの連番の振り方)や、想定外のもの(長すぎるURLの半角英数字が一部省略される)などです。

そう簡単には行きませんでした・・・
よし、もう1ひねり考えてみることにしますっ!