/**
對用戶輸入的文本進行轉義(主要用於
*/
函數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);
}