PHP
正規表現
絵文字
emoji

PHPの正規表現で絵文字を見つける。

More than 1 year has passed since last update.

テキストエリアに入力された内容に絵文字が含まれていた場合、DBに保存すると途中で切れたりするので
防ぐために絵文字が含まれていた場合は入力エラーにするに正規表現で見つけることが出来ないか調べてみた。

参考にしたサイトの内容がそのまま使えたので個人的にメモとして残しておく。

$str = '絵文字入り文字列';
// スマホの絵文字
if(preg_match('/[\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]/', $str)) {
  echo 'スマホの絵文字あり';
}

// ガラケーの絵文字
if(preg_match('/(?:\xEE[\x80\x81\x84\x85\x88\x89\x8C\x8D\x90-\x9D\xAA-\xAE\xB1-\xB3\xB5\xB6\xBD-\xBF]|\xEF[\x81-\x83])[\x80-\xBF]/', $str)) {
  echo 'ガラケーの絵文字あり';
}

参考サイト