iPhoneアプリからサーバーに文字列を送信しています。その文字列には絵文字が含まれている可能性があります - 私はそれをエンコードして送信しています。サーバー側から、彼らはそれをhtmlページに表示しています.文字列をEMOJI文字に変換するにはどうすればよいですか
私の文字列はこのようなものです
testing \ud83d\ude04 my \ud83d\udc0e Emoji \ud83c\udf85 hureee \u260e hai \ud83d\udeb2
これは、Unicode 文字の JSON エンコード (UTF-16 サロゲート ペアとして) のように見えます。json_decode()
それを適切にデコードする必要があります:
<?php
$json = '{"key":"testing \ud83d\ude04 my \ud83d\udc0e Emoji \ud83c\udf85 hureee \u260e hai \ud83d\udeb2"}';
$obj = json_decode($json);
echo $obj->{'key'};
?>
出力:
絵文字 hureee ☎ hai のテスト
これらの特定の文字列のリストと、それらの置換 (画像など) を含む別の配列を含む配列を作成し、PHP コマンドpreg_replaceを次のように使用できます。
<?php
$originalString = 'testing \ud83d\ude04 my \ud83d\udc0e Emoji \ud83c\udf85 hureee \u260e hai \ud83d\udeb2';
$patterns = array();
$patterns[0] = '/\\\\ud83d\\\\ude04/';
$patterns[1] = '/\\\\ud83d\\\\udc0e/';
$patterns[2] = '/\\\\ud83c\\\\udf85/';
$patterns[3] = '/\\\\ud83c\\\\udf85/';
$patterns[4] = '/\\\\u260e/';
$patterns[5] = '/\\\\ud83d\\\\udeb2/';
$replacements = array();
$replacements[5] = '<img src="image6URL" alt="alternative text" />';
$replacements[4] = '<img src="image5URL" alt="alternative text" />';
$replacements[3] = '<img src="image4URL" alt="alternative text" />';
$replacements[2] = '<img src="image3URL" alt="alternative text" />';
$replacements[1] = '<img src="image2URL" alt="alternative text" />';
$replacements[0] = '<img src="image1URL" alt="alternative text" />';
$newString = preg_replace($patterns, $replacements, $originalString);
echo $newString;
?>
$newString は、HTML ページで出力として使用できる結果の文字列になります。