0
我用PHP製作了一個基本的標籤打印web應用程序,我需要一種方法來存儲模板。它們由幾個小文本條目和一些數字和布爾值組成。通常我只是使用JSON,但文本值包含JSON無法處理的換行符。 XML是一種痛苦,因爲我不得不逃避HTML標記。我可以使用另一種替代格式來存儲這種人類可讀的信息嗎?當需要換行符時替代JSON?
我用PHP製作了一個基本的標籤打印web應用程序,我需要一種方法來存儲模板。它們由幾個小文本條目和一些數字和布爾值組成。通常我只是使用JSON,但文本值包含JSON無法處理的換行符。 XML是一種痛苦,因爲我不得不逃避HTML標記。我可以使用另一種替代格式來存儲這種人類可讀的信息嗎?當需要換行符時替代JSON?
我假設你想準備好數據並將其編碼成服務器上的JSON然後發送給客戶端。 This article給出了一個很好的解釋,說明如何準備數據以逃避客戶端評估的適當值。
PHP(> 5.2)的新版本具有將執行此任務的json_encode()函數:
$str_valid=json_encode($str);
有此功能的多種選擇,以獲得更多信息讀取the docs。
PHP的舊版本需要提供此功能:
/**
* @param $value
* @return mixed
*/
function escapeJsonString($value) { # list from www.json.org: (\b backspace, \f formfeed)
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
有趣的是,文章引用回到這個地方StackOverflow post出現相同的功能。
你應該看看http://stackoverflow.com/questions/4253367/how-to-escape-a-json-string-containing-newline-characters-using-javascript – falinsky
我想他想用PHP編碼和然後發送給客戶,如果我正確閱讀。引用的文章描述瞭如何在JavaScript中爲JSON編碼字符串。 –
我實際上只是試圖將文件保存在服務器上,然後再檢索它。沒有什麼被髮送到客戶端的Javascript。 – JaredL