php emoji轉為文字的方法:1、建立一個PHP範例檔案;2、透過「function utf16_to_entities(){...}」方法把emoji表情符號轉換成HTML字元實體儲存即可。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
php emoji怎麼轉為文字?
PHP轉換emoji表情為HTML字元實體:
#行動端輸入時允許輸入表情,表情實際上是UTF-16編碼,在資料庫儲存上會存在遺失,目前如果把資料庫字碼編碼修改為utf8mb4 也是可以儲存。
如果不想修改其它則可以透過轉換把這些表情符號轉換為HTML字元實體保存。
程式碼如下:
function utf16_to_entities(){ $content = mb_convert_encoding($content, 'utf-16'); $bin = bin2hex($content); $arr = str_split($bin, 4); $l = count($arr); $str = ''; for ($n = 0; $n < $l; $n++) { if (isset($arr[$n + 1]) && ('0x' . $arr[$n] >= 0xd800 && '0x' . $arr[$n] <= 0xdbff && '0x' . $arr[$n + 1] >= 0xdc00 && '0x' . $arr[$n + 1] <= 0xdfff)) { $H = '0x' . $arr[$n]; $L = '0x' . $arr[$n + 1]; $code = ($H - 0xD800) * 0x400 + 0x10000 + $L - 0xDC00; $str.= '&#' . $code . ';'; $n++; } else { $str.=mb_convert_encoding(hex2bin($arr[$n]),'utf-8','utf-16'); } } return $str; }
注意:這裡字元儲存為 utf-8 如果程式碼所處理的格式為 GBK 自行修改。
推薦學習:《PHP影片教學》
以上是php emoji怎麼轉為文字的詳細內容。更多資訊請關注PHP中文網其他相關文章!