JSON.parse与json_encode和html

时间:2015-06-05 06:44:43

标签: javascript php html json escaping

我有以下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次观看次数)

有没有人有其他解决方案?

1 个答案:

答案 0 :(得分:0)

您不需要JSON.parse。你可以这样做:

<script>
var html = <?= json_encode($htmlString) ?>;
</script>

json_encode的结果已包含有效的JavaScript数据。