質問させてください。
携帯のサイトで各種(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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
ヒアドキュメントの中のfor文
-
undefined offset というエラー...
-
PHP5でCSVの指定行データだけを...
-
クッキーがよくわかりません
-
rubyで複数列のデータを一行に...
-
PHPで、CSVファイルを、指定し...
-
二次元配列の削除
-
文字列の文字一文字ずつを解析...
-
指定文字を含むファイル名の取得
-
preg_splitがうまくいかないの...
-
携帯絵文字変換スクリプトで20...
-
Resource id #3 と表示されま...
-
二次元文字列をポインタで操作...
-
プルダウンメニューにDBの内容...
-
配列をループでたくさん宣言し...
-
PHP 多次元配列変数のデータ受...
-
file_existsでファイル名の部分...
-
fgetc関数について
-
PHPについて教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの構造体の値を読み...
-
複数行のデータのPOST処理に関して
-
エラーメッセージ(無効な間接...
-
Resource id #3 と表示されま...
-
ヒアドキュメントの中のfor文
-
自動で番号を振りたい
-
C言語でCSVファイルの行数を読...
-
配列同士の足し算のループ処理
-
stdClass Objectを連想配列のよ...
-
PHPでCSVの一部の行を編集したい
-
phpを実行するとファイルダウン...
-
行数が30万件ほどあるCSVから、...
-
phpでCSVファイルの中身を多次...
-
php Undefined variableエラー
-
CSVデータの行数カウントをした...
-
csvの内容を行単位で削除したい
-
複数ファイルで、それぞれの行...
-
テキストデータから指定行の削除
-
rubyで複数列のデータを一行に...
-
PHP5でCSVの指定行データだけを...
おすすめ情報