老版本PHP转义Json里的特殊字符的函数

Aurora ·
更新时间:2024-09-20
· 890 次阅读

在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。

比如这么一段 content:

代码如下:
'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'

则必须要转化为:

代码如下:
Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipiscing elit.

如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。

# list from www.json.org: (\b backspace, \f formfeed) 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; }

经常会用到,记录一下,希望对你有帮助。

您可能感兴趣的文章:如何处理JSON中的特殊字符jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法特殊字符的json序列化总结大全



JSON 函数 特殊字符 PHP 字符

需要 登录 后方可回复, 如果你还没有账号请 注册新账号