错误时使用JS更换整个页面(Error when replace whole page using

2019-09-29 09:23发布

我有一个内容是PHP变量的HTML:

当我使用Javascript:

document.body.innerHTML.replace("<?php echo $content ?>");

更换整个页面,它说的错误:

和jQuery是同样的错误:

jQuery('html').html("<?php echo $content ?>");

有什么办法可以做到这一点,JS和PHP解决方案都OK。

Answer 1:

这似乎是少谈引号和特殊字符,更多的是换行。 您可以使用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); 早在你的脚本。



Answer 2:

转换为HTML特殊字符,然后转换回用JS?

var str = "<?php echo htmlspecialchars($content); ?>";
str = str.replace('&gt;', '>').replace('&lt;', '<').replace('&quot;', '"');
jQuery('body').html(str);


文章来源: Error when replace whole page using JS