ドコモのCSSをインラインに埋め込んでくれるPHPライブラリ「toInlineCSSDoCoMo」
Tweet
ケータイ向けサイトを作っていく上で一番問題となるのが、ドコモ端末が外部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ファイルが公開されています
7月 9th, 2008 at 19:42:36
id:tokuhiromさん、id:Yudoufuさんありがとうございます。
おかげで睡眠時間を増やせそうですw
7月 10th, 2008 at 0:58:39
[…] original article […]
7月 10th, 2008 at 10:24:12
リンクを追加するなど記事を一部修正しました。
7月 10th, 2008 at 20:48:57
サーバ環境によっては(CentOSなど)
PHP Fatal error: Class ‘DOMDocument’ not found in toInlineCSSDoCoMo.php
のように出ることがあります。
その場合は「$ yum install php-xml」でOK。
自分でコンパイルしている場合は「-–with-dom」をつける必要があるようです。
7月 11th, 2008 at 16:05:41
[…] http://ke-tai.org/blog/2008/07/09/toinline/ (記事はこちら:KE-TAI.ORGさん参照) […]