携帯絵文字変換スクリプト(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転送します。
<!–#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)は本プログラムの配布を自由に終了することができます。
- 設置上の質問にはお答えはいたしておりません。
- この「利用規定および免責事項」は予告なく変更することがあります。