![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
質問させてください。
携帯のサイトで各種(Vodafone, au)携帯電話からBBSに感想を入力する画面を作成しました。
入力される文字列は文字、数字、絵文字があります。
入力されたデータはPostgreSQLのDBに格納しています。
その格納された文字列(絵文字含む)を各種携帯で
表示してみたところ、お互いの絵文字が問題に
なったため、変換処理を追加しました。
========================================
$msg = "********";(DBから取得した文字列(絵文字含む))
$emoji = file(emoji_file.txt);
for($r=0;$r<count($emoji);$r++){
$string = chop($emoji[$r]);
$emoji_data = split("===", $string);
if(strstr($msg, $emoji_data[0])){
echo("HIT");
$msg = eregi_replace($emoji_data[0], $emoji_data[1], $msg);
}
}
echo($msg);
======================================
emoji_file.txt
$Fr===1
$G-===281
$G.===287
======================================
上記のプログラムで、
DBから取得した文字列内にemoji_file.txt
にある絵文字データがあれば数値に変換したいと
考えていますが、"HIT"が表示されるにも
かかわらず変換されずに表示されます。
これは、"$G."などVodafoneの絵文字が
普通の文字列と違うからでしょうか?
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
Vodafone の絵文字は、1文字5バイトになるのですが、
$Fr ←これは1文字だけ表示させた場合で、
複数行になると実際には、
$Fr$G-$G.$Fr という具合になります。
開始文字と終了文字が省略される、というわけですね。
replaceする時はこの辺を考慮した方がいいです。
さておき、
strstr でHitしたものをうまく置換できないのであれば
置換の際に、eregi_replaceを使っているので
eregi で検索してはどうでしょうか?
if(eregi($emoji_data[0],$msg)){
$msg = eregi_replace($emoji_data[0],$emoji_data[1],$msg);
echo "HIT";
}
これで HIT と出るのにそれでも置換されないのであれば
また悩んでみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvの内容を行単位で削除したい
-
FortranのOPEN文
-
VBAでcsvファイルもシートもあ...
-
xml取得値を文字列と比較
-
別ファイルの構造体の値を読み...
-
行数が30万件ほどあるCSVから、...
-
CSVデータの行数カウントをした...
-
自動で番号を振りたい
-
PHP 別ドメインへのファイル保存法
-
C言語でCSVファイルの行数を読...
-
文字列変換について
-
CSVファイルの最終行のデー...
-
PHPでサーバー上の書き換えたht...
-
配列をループでたくさん宣言し...
-
file_existsでファイル名の部分...
-
array_mapの再帰処理がうまく行...
-
2次元配列CSVのソート
-
foreachで上限回数指定方法また...
-
掲示板のあらし対策
-
Eclipseコンテンツアシストでプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPからCSVをアップロード後、m...
-
別ファイルの構造体の値を読み...
-
CSVデータの行数カウントをした...
-
Resource id #3 と表示されま...
-
C言語でCSVファイルの行数を読...
-
複数行のデータのPOST処理に関して
-
ヒアドキュメントの中のfor文
-
CSVファイルの最終行のデー...
-
自動で番号を振りたい
-
バイナリファイルの内容を、そ...
-
csvの内容を行単位で削除したい
-
FortranのOPEN文
-
ログファイルが一定行数を超え...
-
行数が30万件ほどあるCSVから、...
-
配列をファイルに書き込む方法
-
テキストデータから指定行の削除
-
stdClass Objectを連想配列のよ...
-
エラーメッセージ(無効な間接...
-
PHPでサーバー上の書き換えたht...
-
PHPでCSVの一部の行を編集したい
おすすめ情報