我有以下html字符串:
$htmlString = '<div class="foo">bar</div>';
我想json_encode这个字符串并使用以下代码在javascript变量中解析它:
JSON.parse('<?= json_encode($htmlString, JSON_HEX_QUOT | JSON_HEX_TAG); ?>')
不幸的是,我的javascript返回错误(Unexpected token f
),因为类声明中的双引号会破坏json字符串。
重要说明:这是我在JSON中实际编码的数组的简化版本。受影响的字符串只是复杂多级数组的一小部分。
将$htmlString = '<div class="foo">bar</div>';
更改为$htmlString = "<div class='foo'>bar</div>";
可能是一种选择,但体积庞大(我必须更改约500次观看次数)
有没有人有其他解决方案?
答案 0 :(得分:0)
您不需要JSON.parse
。你可以这样做:
<script>
var html = <?= json_encode($htmlString) ?>;
</script>
json_encode
的结果已包含有效的JavaScript数据。