ドコモのCSSをインラインに埋め込んでくれるPHPライブラリ「toInlineCSSDoCoMo」
    このエントリをはてなブックマークに登録

ケータイ向けサイトを作っていく上で一番問題となるのが、ドコモ端末が外部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を使っているので、サンプルのままでは行かない感じです。
この辺りもまとまりましたら、また記事にしたいと思います。

 

関連:


 

最近の記事







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

  1. id:tokuhiromさん、id:Yudoufuさんありがとうございます。
    おかげで睡眠時間を増やせそうですw

  2. […] original article […]

  3. リンクを追加するなど記事を一部修正しました。

  4. サーバ環境によっては(CentOSなど)
    PHP Fatal error: Class ‘DOMDocument’ not found in toInlineCSSDoCoMo.php
    のように出ることがあります。
    その場合は「$ yum install php-xml」でOK。
    自分でコンパイルしている場合は「-–with-dom」をつける必要があるようです。

  5. […]  http://ke-tai.org/blog/2008/07/09/toinline/ (記事はこちら:KE-TAI.ORGさん参照)  […]

コメントを書く