PHP json_encode for PHP < 5.4(意外令牌)


php json_encode for php < 5.4 (unexpected token)

我有一个jquery ajax,它调用一个输出json对象的php文件。

这一切都在高于 5.3 的 php 版本上运行良好,但较低版本尚未实现JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE

如何在早期版本中转义"json 敏感"字符,如"&"或"="?

谢谢你的时间!

编辑:刮擦那个..问题是=>我在文本中有<br />,并更改为<br '="">"给出错误...

如果您使用的是 UTF-8 编码,则可以使用以下内容:

$json = preg_replace('/[^('x20-'x7F)]*/','', $json);  

对于JSON_UNESCAPED_SLAHES,您可以使用:

preg_replace('''/', '/', $json);

JSON_UNESCAPED_UNICODE可能有点复杂,我在这里找到了 php.net 手册上的一些示例。