我有一个php变量,内容是html:
当我使用Javascript时:
document.body.innerHTML.replace("<?php echo $content ?>");
替换整个页面,它说错误:
和jQuery是同一个错误:
jQuery('html').html("<?php echo $content ?>");
我能做到这一点,JS和PHP解决方案都可以。
答案 0 :(得分:0)
转换为HTML特殊字符然后转换回JS?
var str = "<?php echo htmlspecialchars($content); ?>";
str = str.replace('>', '>').replace('<', '<').replace('"', '"');
jQuery('body').html(str);
答案 1 :(得分:0)
关于引号和特殊字符似乎更少,更多关于换行符。 您可以使用json来防止所有这些字符出现。
document.body.innerHTML = <?=json_encode($html)?>;
这适用于我的服务器:
<?php
$html = <<<HTML
<span>Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
<a href="http://google.com">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</a>
<strong>When an unknown printer took a galley of type and scrambled it to make a type specimen book</strong>
HTML;
?>
<html>
<body>blah</body>
<script>
document.body.innerHTML = <?=json_encode($html)?>;
</script>
</html>
当然,如果您在脚本中先前声明document.body.innerHTML = <?=$html?>;
,则可以使用$html = json_encode($html);
。