ドコモのCSSをインラインに埋め込んでくれるPHPライブラリ「toInlineCSSDoCoMo」

2008/7/9 水曜日 Posted in DoCoMo | 5 Comments »

ケータイ向けサイトを作っていく上で一番問題となるのが、ドコモ端末が外部CSSファイル読み込みや、styleタグでの内部参照に対応していないことです。 PerlではHTML::DoCoMoCSS [hatena.ne.jp] というライブラリがあり、かねがね羨ましく思っており、いつか移植したいなと思っていたりしたのですが、ついにPHPでもこの問題を解決してくれるライブラリが登場しました。 これは素晴らしすぎます。 → Asial blog DoCoMo向けにCSS指定をインラインに埋め込むPHPライブラリ「toInlineCSSDoCoMo」作りました [asial.co.jp] → ゆどうふログ 勘違いのないようにtoInlineCSSDoCoMoの仕様について言っとくか [hatena.ne.jp]   oInlineCSSDoCoMo.phpは、基本的にはid:tokuhiromさんの作った上記のHTML::DoCoMoCSSをPHP用にリライトしたもので、それに若干の機能追加をしています。 とのことですので、基本的には上記Perlのライブラリを踏襲したつくりとなっているようです。 動作環境としてはPHP5.1以上とのことで、残念ながら4系で動いているサイトには使えないようです。   インストールは簡単で、 # pear install HTML_CSS で、必要なPEARライブラリをインストールして、ダウンロードしたファイルを展開するだけです。 中に入っている「sample.php」にアクセスすれば、サンプルが表示されると思います。 使い方も簡単で、表示させたいHTMLの内容を取得して、toInlineCSSDoCoMoに渡してやるだけでOKのようです。 <?php require_once '../lib/toInlineCSSDoCoMo.php'; $document = file_get_contents('sample.html'); try { echo toInlineCSSDoCoMo::getInstance()->setBaseDir('./')->apply($document); } catch (RuntimeException $e) { var_dump($e); } catch (Exception $e) { var_dump($e->getMessage()); } ?>   これでケータイサイトのHTML作成が相当楽になりますね。 早速、自分のサイトにも適用して試してみたいと思います。 ただ、テンプレートシステムにSmartyを使っているので、サンプルのままでは行かない感じです。 この辺りもまとまりましたら、また記事にしたいと思います。   関連: 絵文字ライブラリ「sfPictogramMobilePlugin」がバージョンアップし、PEARパッケージ化されたようです symfony用の絵文字プラグイン「sfPictogramMobilePlugin」 Asial blogで絵文字データベースと相互変換マッピングデータベースのJSONファイルが公開されています Read more..