當前位置:成語大全網 - 書法字典 - 如何對表情符號表達式進行轉義,以便存儲在utf8數據庫中?

如何對表情符號表達式進行轉義,以便存儲在utf8數據庫中?

如何對表情符號表達式進行轉義,以便存儲在utf8數據庫中?

/**

對用戶輸入的文本進行轉義(主要用於

*/

函數userTextEncode($str){

如果(!is_string($str))返回$ str;

如果(!$str || $str=='undefined ')返回“”;

$ text = JSON _ encode($ str);//公開的unicode

$ text = preg _ replace _ callback("/(\ \ \ u[ed][0-9a-f]{ 3 })/I ",function($str){

返回add slashes($ str[0]);

},$ text);//保留表情符號的unicode,其他的保持不變。這裏的正則化比原答案增加了d,因為我發現我的很多表情符號其實都是以\ud開頭的,只是暫時沒有發現\ue。

返回JSON _ decode($ text);

}

/**

解碼上面的逃逸。

*/

函數userTextDecode($str){

$ text = JSON _ encode($ str);//公開的unicode

$ text = preg _ replace _ callback('/\ \ \ \ \ \ \ \/I ',function($str){

返回' \ \ ';

},$ text);//將兩個斜杠變成壹個,保留其他的。

返回JSON _ decode($ text);

}