Based on my understanding of this subject, I’ve come up with the following function for translating a string from PHP to JSON, strictly conforming to the RFC4627.
{[ .json_string | 1.hilite(=php,ln-1=) ]}
A simple test like this
{[ .test | 1.hilite(=php,ln-1=) ]}
yields (in comparison to the _encodeString method of the Zend_Json_Encoder class of Zend Framework)
Zend_Json_Encoder::_encodeString: Array
(
[0] => "a null: ; a new line: n; a carriage return: r;"
[1] => "a js regex: /(["'])\w+\1/"
[2] => "a script element: <script type="test/javascript" src="http://example.com/all.js"></script>"
[3] => "a japanese word: u307fu305a"
)
json_string: Array
(
[0] => "a null: u0000; a new line: n; a carriage return: r;"
[1] => "a js regex: /(["'])\w+\1/"
[2] => "a script element: <script type="test/javascript" src="http://example.com/all.js"></script>"
[3] => "a japanese word: みず"
)
