mysql資料庫儲存emoji表情
阿新 • • 發佈:2018-12-19
/** *轉碼emoji(主要針對特殊符號和emoji表情) */ if (!function_exists('emojiEncode')) { function emojiEncode($str){ if(!is_string($str))return $str; if(!$str || $str=='undefined')return ''; $text = json_encode($str); //暴露出unicode $text = preg_replace_callback("/(\\\u[ed][0-9a-f]{3})/i",function($str){ return addslashes($str[0]); },$text); //將emoji的unicode留下,其他不動,這裡的正則比原答案增加了d,因為我發現我很多emoji實際上是\ud開頭的,反而暫時沒發現有\ue開頭。 return json_decode($text); } } /** *解碼emoji */ if (!function_exists('emojiDecode')) { function emojiDecode($str){ $text = json_encode($str); //暴露出unicode $text = preg_replace_callback('/\\\\\\\\/i',function($str){ return '\\'; },$text); //將兩條斜槓變成一條,其他不動 return json_decode($text); } }