我有一个像这样的Twig数组:
var settings = JSON.parse('{{ theme | json_encode | raw }}');
例如,结果我得到了这个:
var settings = JSON.parse('{"text_color":"#444444","company_info":"my company profile with a comma's"}');
现在发生的事情是,当有人在公司资料中写下逗号或任何其他字符时,完整的脚本会中断。
实施例' S: - '东西' - 事情 - 太棒了;
有没有办法接受"接受"这些特殊字符?我以为编码会读过那些字符?!
答案 0 :(得分:2)
json_encode TWIG Function接受agumets json_encode options的位掩码。例如:
{{ data|json_encode(constant('JSON_PRETTY_PRINT')) }}
似乎您正在寻找JSON_HEX_APOS
常数
所以试试这个:
var settings = JSON.parse('{{ theme | json_encode(constant('JSON_HEX_APOS')) | raw }}');
希望这个帮助