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)、絵文字が削除されます。

実行速度も早く、絵文字を取り除くには、この方法が決定版かもしれません。

emoji_cut_i.jpg
DocoMoは当然OK

emoji_cut_au.jpg
auもOK

emoji_cut_sb.jpg
SoftBankだってOK

 

なお、ソフトバンクにはSJIS形式以外にも、フォーム値を通常の絵文字形式で送信してくる端末も、数多くあります。
その場合は正規表現などで検出し、取り除く必要があります。
(上記のソフトバンク絵文字を削除するサンプルは、また後日アップします)

追記: 公開しました。こちらです。

この2つの方法を併用することで、全てのキャリア、全ての絵文字を削除することができそうです。

 

関連:


 

最近の記事







2 Responses to “PHPを使ってたった2行で絵文字を取り除く方法”

  1. […] ke-tai.org PHPを使ってたった2行で絵文字を取り除く方法 http://ke-tai.org/blog/2007/11/28/simple_emojicut/ […]

  2. […] が削除された状態になります。   参考サイト PHPを使ってたった2行で絵文字を取り除く方法 […]

コメントを書く