2013-07-03 27 views
0

我從iPhone應用程序發送一個字符串到服務器。 該字符串可能包含Emoji - 我正在編碼併發送該字符串。 從服務器端顯示,他們是在一個HTML頁面的話,他們怎麼能轉換成字符串轉換成EMOJI charecters在HTML頁面中替換iPhone Emoji

我的字符串是這樣

testing \ud83d\ude04 my \ud83d\udc0e Emoji \ud83c\udf85 hureee \u260e hai \ud83d\udeb2 

回答

0

您可以創建與這些特定字符串列表的數組沿與含有它們的替代(例如圖像)的另一陣列,然後使用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頁面中用作輸出。

請注意,backward slashes in the emoji must be escaped using 3 additional backward slashes in the regular expression

2

看起來像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'}; 
?> 

輸出:預計

 
testing my Emoji hureee ☎ hai 
+0

表情圖案作品......的確,我們可以在沒有密鑰發送 –