プログラマじゃなくても3キャリア+PC絵文字対応が出来るセット
予告どおり、今回のエントリーは絵文字の3キャリア対応について。
少し前、PHPのライブラリで絵文字ライブラリの
MobilePictogramConverter(http://php-develop.org/MobilePictogramConverter/)が
話題になりましたが、とても良いライブラリでした。
で、使ってみる実験のついでに、プログラマじゃなくても使えないかと思って、フィルタを作ってみました。
ダウンロード
簡単絵文字変換セット:http://www.srce.jp/archive/emoji_conv_set.zip(606KB)
設置が面倒な為、上記のMobilePictogramConverterとSmartyを同梱させてもらいました。
設置条件
1、PHPが使えるサーバーである。
2、.htaccessが利用可能なサーバーである。(modRewriteを使っています)
の2点が必須です。
modRewriteは共用サーバーの場合、使えないことがあるかもしれません。
セットアップ
ダウンロードしたZIPファイルを展開すると、ファイル郡が出てきますので、それをFTPでアップロードします。
その後、[templates_c]のパーミッションを707もしくは777にして下さい。
終わったら、http://[設置したディレクトリ]/test.htmlにアクセス。
「絵文字テストファイル」というタイトルのページが表示され、絵文字が出ていれば成功です。
実際に使う
新しくファイルを作る(元からあるファイルを変換する)場合は、[templates]の中に、ファイルを設置してください。
このフィルタは、i-mode用の絵文字をベースにしていますので、記述はi-modeのS-JIS10進数を使って記述します。(絵文字コード:http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/basic/)
ちょっと技術情報
このフィルタは、絵文字変換ライブラリ+Smarty+modRewriteで作りました。
処理の流れは下記の通りです。
1 ユーザーが、http://hogehoge.com/test.htmlにアクセス
2 modRewriteが、/test.htmlへのアクセスを/index.php?page=testに変換
3 index.phpがSmartyクラスを呼び出し、/templates/test.htmlをコンパイル
4 表示するときにOutputフィルタ(lib/smarty/plugins/outputfilter.convEmojiFilter.php)を使い、ファイル内全てのi-mode用絵文字コードを各キャリア用に変換(3キャリア以外の場合は画像を表示)
となっています。
毎回ファイル内の全ての絵文字コードを変換するため、効率は悪いですが、手軽さを第一で考えました。
ご意見、ご指摘、誹謗、中傷などありましたら、お気軽にどうぞ。