• ベストアンサー

絵文字の格納と抽出について!2

http://oshiete1.goo.ne.jp/qa5252187.html さっき↑であれしたんですけど、ナンダカンダで絵文字は出てくれました。 //変換できる絵文字が無いための処理 mb_substitute_character("long"); //抽出する文字コード変換(これは絵文字に関係ありません) $str = mb_convert_encoding($row['str'],'SJIS','EUC-JP'); //絵文字を16進数!?みたいのに変えてDBへ格納 $str = preg_replace('/\[d:(F[89][0-F]{2})\]/e', "pack('H*', $1)", $str); 格納した絵文字のコードにナンヤカンヤチョメチョメを行い抽出 $str = preg_replace('/BAD\+(F[89][0-F]{2})/', '[d:$1]', $str); これはIモードのみのようでした。 他のキャリアはダメですか! 絵文字は出ても全部真っ黒です!

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

  • ベストアンサー
回答No.1

http://www.revulo.com/PHP/library/HTML_Emoji.html このようなライブラリもあります。 使ってみてはいかがでしょう。

iinnffoo
質問者

補足

どっひゃーぁぁぁq(°o°)p こんばんわ! これは・・・どうしたら使えますか! 自分のサイトの絵文字を使う抽出部分と格納部分に組み込めたり出来ますか!

その他の回答 (2)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.3

各キャリアではコードが違っていますので、 各キャリア毎への変換が必要。 例えば、基準をDoCoMoとして 各キャリアから入力 pack()でコードへ変換 各キャリア->DoCoMo変換マップを用意しておく 文字列変換 DBに格納。 出力 DBから取り出す。 HTML化する時に、DoCoMo絵文字を抽出。 各キャリアへ変換 pack()でバイナリへ変換。 ただし、SOFTBANKはちと面倒です。 とりあえず、ヒントとしては http://labs.unoh.net/2007/01/softbank_1.html ここらへん。

iinnffoo
質問者

補足

すんごく複雑なんですね。。。 DoCoMoの基準にする様な形でもマップみたいな・・・。 マップみたいなgif画像みたいなインクルードみたいな・・・。 うわーん(ノ_・、) 格納した絵文字に [d:] 足すだけではだめなんですね!ぷぎゃ

回答No.2

>これは・・・どうしたら使えますか! 先のページの「使い方」のところで書いてあるように使う、としかいいようがないのですが、実際、ライブラリのPHPファイルの中見てみたら、使い方のところで書いてあったメソッド以外で使用するものはなさそうでした。 「使い方」のところのサンプルスクリプトの「$data」というのが、絵文字が含まれている文字列が格納されている変数です。 >自分のサイトの絵文字を使う抽出部分と格納部分に組み込めたり出来ますか! うっひょーぉぉぉq(°o°)p 仰ってる意味がいまいち分かりません。詳しく教えてください。

iinnffoo
質問者

補足

有り難う御座います(9m 丸ごとプログラムになっているみたいですね! hogehoge78さんの言うとおり「$data」の部分をちょっと勉強してみたいと思います! とても参考になりましたヽ(=^-^=)ノ 貴重な御時間すいませんでしたっ!