在给一个 App 做 API,从服务器端的 MysqL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。
比如这么一段 content:
代码如下:
则必须要转化为:
代码如下:
如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。
PHP;">
# list from www.json.org: (\b backspace,\f form@R_502_349@)
public function escapeJsonString($value) {
$escapers = array("\\","/","\"","\n","\r","\t","\x08","\x0c");
$replacements = array("\\\\","\\/","\\\"","\\n","\\r","\\t","\\f","\\b");
$result = str_replace($escapers,$replacements,$value);
return $result;
}
经常会用到,记录一下,希望对你有帮助。
原文链接:https://www.f2er.com/php/21828.html