PHPを使ってたった2行で絵文字を取り除く方法
今回は、PHPで一番簡単と思われる、絵文字を取り除く方法をご紹介します。
iモードとau、およびソフトバンクのSJIS形式の絵文字を取り除くことができます。
サンプルコード
$str = '絵文字[晴れ]';
mb_substitute_character('none');
$str = mb_convert_encoding($str, 'SJIS', 'SJIS');
// 出力
echo $str;
※ソースはSJISで記述してください
これだけでOKです。
「mb_substitute_character」は、存在しない文字コードがある場合(いわゆるゲタになる場合)の処理を設定をするためのものです。
ここで"none"と設定すると削除が行われます。
次の「mb_convert_encoding」で実際に変換を行うと(ダミーのためSJIS→SJISでOK)、絵文字が削除されます。
実行速度も早く、絵文字を取り除くには、この方法が決定版かもしれません。

DocoMoは当然OK

auもOK

SoftBankだってOK
なお、ソフトバンクにはSJIS形式以外にも、フォーム値を通常の絵文字形式で送信してくる端末も、数多くあります。
その場合は正規表現などで検出し、取り除く必要があります。
(上記のソフトバンク絵文字を削除するサンプルは、また後日アップします)
追記: 公開しました。こちらです。
この2つの方法を併用することで、全てのキャリア、全ての絵文字を削除することができそうです。
関連:


PHP×携帯サイト デベロッパーズバイブル
携帯サイト コーディング&デザイン
携帯サイト制作 WEBデザインの新しいルール
エレコム ストラップ型USBケーブル
携帯サイトSEO&SEM向上テクニック
Web+DB PRESS Vol.45
アマチュアスポーツ総合情報サイト
札幌のケータイ開発、Web開発なら

最近の記事