• ベストアンサー

3キャリア携帯の絵文字をユーザーエジェントで制御

ユーザーエジェントで識別して表示したいと思っているのですが 下記のようなエラーが表示されてしまいます。 Warning: Unexpected character in input: ''(ASCII=27) state=5 in /home/XXXX/XXXX/XXX.php on line 17 エラー箇所 14 elseif( preg_match( "/SoftBank/", $_SERVER['HTTP_USER_AGENT'] ) ) 15 { 16 $heart =<<<eof 17 ←$GB (←は、特殊な矢印です。確認画面で表示されません) 18 eof; 19 } ソフトバンクの絵文字コードが原因だと言うところまでは判りました。 (ソフトバンクの絵文字コードを消してテストしたら正常に表示されました) 僕の判る範囲で修正を試みたのですが一向に改善されません。 どなたか知恵を頂ければと思い投稿させて頂きました。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

過去にVodafoneのサイトを構築しておりました。 おそらく絵文字の開始タグであるASCII27をべた書きしているのが原因です。 PHPのパーサはその文字を正しく解釈しません。 表示させたい場合はchr関数を使用すると良いでしょう。

参考URL:
http://q.hatena.ne.jp/1131190333

その他の回答 (1)

回答No.1

packを使って、16進数で表現すればいいのでは?