全て携帯絵文字のみかどうかを調べる
Shift-JISのページでフォーム送信された入力値を調べるときに使います。
Softbankの絵文字はUTF-8と思われがちですが、送信されるときはShift-JISで拾えます。
ただ端末によって絵文字を送信データに含めない場合もあるようです。
// docomo // f89f-f8fc, f940-f949, f950-f957, f95b-f95e, f972-f97e, f980-f9fc if(preg_match("/^(¥xf8[¥x9f-¥xfc]|¥xf9[¥x40-¥x49]|". "¥xf9[¥x50-¥x57]|¥xf9[¥x5b-¥x5e]|". "¥xf9[¥x72-¥x7e]|¥xf9[¥x80-¥xfc])+$/",$char)){ echo "全て携帯絵文字です"; // au // 第1バイトがf3,f6,f7で始まる2バイト文字すべてと、f440-f47e, f480-f48d }elseif(preg_match("/^(¥xf3[¥x40-¥xfc]|¥xf6[¥x40-¥xfc]|". "¥xf7[¥x40-¥xfc]|¥xf4[¥x40-¥x7e]|". "¥xf4[¥x80-¥x8d])+$/",$char)){ echo "全て携帯絵文字です"; // softbank (Shift-JIS) // (絵文字1)0xf9[41-7e] 0xf9[80-9b] // (絵文字2)0xf7[41-7e] 0xf7[80-9b] // (絵文字3)0xf7[a1-f3] // (絵文字4)0xf9[a1-ed] // (絵文字5)0xfb[41-7e] 0xfb[80-8d] // (絵文字6)0xfb[a1-d7] }elseif(preg_match("/^(¥xf9[¥x41-¥x7e]|¥xf9[¥x80-¥x9b]|". "¥xf7[¥x41-¥x7e]|¥xf7[¥x80-¥x9b]|". "¥xf7[¥xa1-¥xf3]|". "¥xf9[¥xa1-¥xed]|". "¥xfb[¥x41-¥x7e]|¥xfb[¥x80-¥x8d]|". "¥xfb[¥xa1-¥xd7])+$/",$char)){ echo "全て携帯絵文字です"; }else{ echo "全て携帯絵文字ではありません"; }
関連記事
- Smarty2をPHP7に対応させる方法(The /e modifier is no longer supported Smarty_Compiler.class.php, line 270)
- PHPの正規表現
- 携帯電話のメールアドレスか調べる
- 正しい電話番号か調べる
- 正しい郵便番号か調べる
- メールアドレスかどうか調べる
- 正しいURLかどうか調べる
- すべて漢字かどうか調べる
- すべてカタカナかどうか調べる
- すべて「ひらがな」かどうか調べる
スポンサーリンク