携帯絵文字変換スクリプト 3キャリア対応

携帯絵文字変換スクリプト(PHP配布)

携帯3キャリア(NTTドコモ,au,ソフトバンク)の共通絵文字を表示するスクリプトです。

従来、絵文字については各キャリア相互に互換性がなく、携帯サイトを制作する際は各キャリアに合わせたページを制作する必要がありましたが、このスクリプトを利用することで、1つのページで3キャリアに対応させたページ作りが可能となります。

プログラム概要

共通絵文字変換表に基づき、ドコモの絵文字を基準に、auとソフトバンク向けの携帯電話に対し、同等の絵文字を表示します。

スクリプトの呼び出しはSSIを利用するため、現在のHTMLをPHPに変換したりする必要はありません。

スクリプトはPHP単体で動作するため、HTML内の絵文字を表示したい部分に一定の記述(SSI)を追加するだけで、絵文字を簡単に表示させることができます。
→サンプル

表示サンプル"

※サンプル画面にはありませんが、ソフトバンクにも対応しています。

プログラムの特徴

  • ドコモ絵文字相当(基本絵文字+拡張絵文字の約250個)が利用可能。
  • HTML内からSSIを使って簡単呼び出し。絵文字番号を記述するだけでOK
  • PCで表示した場合も同等の絵文字が表示されます。

設置条件

本スクリプトを設置するためには、以下の環境が必要です。

  • PHP4.0以上
  • SSIが利用可能、もしくは.htaccess等でSSIを利用できる環境にできること。
  • .htaccess等でコンテンツMIMEタイプを変更・追加できること。

プログラムの入手

以下の圧縮ファイルをダウンロードしてください。 ※利用規定遵守のこと

ダウンロード後、解凍すると以下のファイルが展開されます。

  • trans.php – 絵文字変換スクリプト本体
  • emojix.csv – 絵文字変換テーブル(XHTML用)
  • emojih.csv – 絵文字変換テーブル(HTML用)
  • images – PC表示用絵文字格納フォルダ

プログラム設置例

全体のディレクトリ構成とファイル位置例は以下のとおりです。(かっこ内は文字コード)

public_html / index.html (トップページ)
    |
    +-- php
          |
          +-- emoji / trans.php  [Shift-JIS]
                      emojih.csv [Shift-JIS]
                      emojix.csv [Shift-JIS]
                |
                +-- images / 1-252.gif
                             *.gif (PC用絵文字画像)

trans.phpをメモ帳などのエディタで開いて、必要により以下の箇所を修正します。

//絵文字変換表 13行目
$emoji_data = “emojix.csv”;
表示先のHTMLがXHTMLなら、「emojix.csv」。HTMLなら「emojih.csv」

//PC用絵文字格納フォルダ 19行目
$img_dir = “/php/emoji/images/”;
PC用の絵文字画像が入っているimagesフォルダのパスを
トップディレクトリから相対パスで記入。

//ドコモ→au絵文字自動変換利用(on:1 off:0) 22行目
$ie = “1”;
auにはもともとサーバー側でドコモの絵文字をau絵文字へ自動変換する機能が備わっています。

この機能を利用する場合は「1」を、利用しない場合は「0」に指定します。利用しない「0」にすると、絵文字は端末側から呼び出されるので、表示速度が向上します。

一方、利用する「1」に設定した場合、au端末では絵文字が表示されるまでに若干時間がかかるようになりますが、<font>タグなどで指定した文字サイズに合わせて絵文字が拡大縮小する機能が使えるようになります。

以上、修正が完了したら各ファイルを所定のディレクトリにFTP転送します。

画像以外はアスキーモードで転送してください。
HTML内に以下のようにSSIで記述して絵文字番号を指定します。

<!–#include virtual=”/php/emoji/trans.php?emoji=絵文字番号”–>
(execでの実行形式だと引数を渡せずエラーになります。また、virtualのディレクトリパスに注意。virtualはトップディレクトリからの相対パスで記述します。)

例えば、一番最初の「晴れ」なら、
<!–#include virtual=”/php/emoji/trans.php?emoji=1“–>
となります。

絵文字番号は以下の表を参考にしてください。

番号 絵文字 番号 絵文字 番号 絵文字 番号 絵文字 番号 絵文字 番号 絵文字
1 43 85 127 169 211
2 44 86 128 170 212
3 45 87 129 171 213
4 46 88 130 172 214
5 47 89 131 173 215
6 48 90 132 174 216
7 49 91 133 175 217
8 50 92 134 176 218
9 51 93 135 177 219
10 52 94 136 178 220
11 53 95 137 179 221
12 54 96 138 180 222
13 55 97 139 181 223
14 56 98 140 182 224
15 57 99 141 183 225
16 58 100 142 184 226
17 59 101 143 185 227
18 60 102 144 186 228
19 61 103 145 187 229
20 62 104 146 188 230
21 63 105 147 189 231
22 64 106 148 190 232
23 65 107 149 191 233
24 66 108 150 192 234
25 67 109 151 193 235
26 68 110 152 194 236
27 69 111 153 195 237
28 70 112 154 196 238
29 71 113 155 197 239
30 72 114 156 198 240
31 73 115 157 199 241
32 74 116 158 200 242
33 75 117 159 201 243
34 76 118 160 202 244
35 77 119 161 203 245
36 78 120 162 204 246
37 79 121 163 205 247
38 80 122 164 206 248
39 81 123 165 207 249
40 82 124 166 208 250
41 83 125 167 209 251
42 84 126 168 210 252

注意1

SSIをHTMLで実行可能にするには、「.htaccess」というファイルを作成し、以下の文言を付け加え、本スクリプトを呼び出すHTMLのあるディレクトリにアップロードすれば、普通のサーバーであれば動作します。

AddHandler server-parsed html

注意2

ドコモ向けの携帯サイトをXHTMLで記述する場合には、コンテンツのMIMEタイプを必ず指定しなければ多くの端末はXHTMLモードで動作しません。

上記同様、「.htaccess」というファイルに以下の文言を追加し、サーバー側で正しいHTTPヘッダが出力されるように設定します。※詳しい説明はこちらを参照。

AddType application/xhtml+xml .html

注意3

呼び出し元のHTMLファイルの文字コードは「Shift-JIS」にしてください。

異なる文字コードを設定していると、文字化けや絵文字が正しく表示されません。

利用規定

  • 本スクリプトはフリーソフトです。
  • 個人・法人に限らず利用者は自由に使用することができます。
  • 商用利用についても特に制限はございません。
  • 著作権は放棄していません。
  • プログラムの改変・改造は自由に行うことができます。
  • 再配布の場合も自由に行ってかまいませんが、当サイトへリンクしてくださるとうれしいです。

免責事項

  • 本プログラムが、すべてのプロバイダや、環境で動作する保証はしておりません。
  • 本プログラムを利用した事によるいかなる損害も作者(DSPT.NET)は一切の責任を負いません。
  • 作者(DSPT.NET)は本プログラムの配布を自由に終了することができます。
  • 設置上の質問にはお答えはいたしておりません。
  • この「利用規定および免責事項」は予告なく変更することがあります。

参考

最新情報をチェックしよう!