編程學(xué)習(xí)網(wǎng) > PHP技術(shù) > php基礎(chǔ) > PHP轉(zhuǎn)義Json里的特殊字符的函數(shù)
2015
12-02

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.

那么有哪些字符是需要轉(zhuǎn)義的呢?看下圖:


如果 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;
}

掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料

Python編程學(xué)習(xí)

查 看2022高級(jí)編程視頻教程免費(fèi)獲取