老版本PHP轉(zhuǎn)義Json里的特殊字符的函數(shù)
在給一個(gè) App 做 API,從服務(wù)器端的 MySQL 取出數(shù)據(jù),然后生成 JSON。數(shù)據(jù)中有個(gè)字段叫 content,里面保存了文章內(nèi)容,含有大量 HTML 標(biāo)簽,這個(gè)字段在轉(zhuǎn) json 的時(shí)候需要轉(zhuǎn)義,因?yàn)橛写罅康奶厥庾址麜?huì)破壞 json 的結(jié)構(gòu)。
比如這么一段 content:
'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'
則必須要轉(zhuǎn)化為:
Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipiscing elit.
如果 PHP 版本 > 5.2,json_encode 自帶轉(zhuǎn)義。如果是舊版本的 PHP 則可以用下面的函數(shù)。
# 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; }
經(jīng)常會(huì)用到,記錄一下,希望對(duì)你有幫助。
相關(guān)文章
PHP從零開(kāi)始打造自己的MVC框架之類的自動(dòng)加載實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP從零開(kāi)始打造自己的MVC框架之類的自動(dòng)加載實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式詳細(xì)分析了MVC框架類的自動(dòng)加載原理、定義、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-06-06php setcookie(name, value, expires, path, domain, secure) 參數(shù)
本篇文章是對(duì)php setcookie(name, value, expires, path, domain, secure) 參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06解決form中action屬性后面?傳遞參數(shù) 獲取不到的問(wèn)題
下面小編就為大家?guī)?lái)一篇解決form中action屬性后面?傳遞參數(shù) 獲取不到的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Thinkphp中import的幾個(gè)用法詳細(xì)介紹
這篇文章主要介紹了Thinkphp中import的幾個(gè)用法,需要的朋友可以參考下2014-07-07PHP基于雙向鏈表與排序操作實(shí)現(xiàn)的會(huì)員排名功能示例
這篇文章主要介紹了PHP基于雙向鏈表與排序操作實(shí)現(xiàn)的會(huì)員排名功能,結(jié)合實(shí)例形式分析了php雙向鏈表的功能、定義及基于雙向鏈表的排序操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12