javascript - 如何对 HTML 的 PHP 字符串进行编码以供 JavaScript 函数用作字符串?

标签 javascript php iframe

我有以下代码:

<iframe id="uniqueId" frameborder="0" width="100%" height="100%"></iframe>
<script>
    var iframeObject = document.getElementById("uniqueId");
    var iframeContent = iframeObject.contentWindow.document;
    iframeContent.open();
    iframeContent.write("<?php echo $htmlString ?>");
    iframeContent.close();
</script>;

我正在尝试插入用户生成的 HTML(元数据、 <html><head><body><script> 等),以字符串形式存储在 PHP 变量 $htmlString 中,进入 #uniqueId iframe 供浏览器/客户端渲染。

我很难找到安全转义/编码该 HTML 字符串以便在我编写的 JavaScript 中使用的正确方法。

在 PHP 方面,我尝试过 htmlspecialchars() , htmlentities() , json_encode() ,和一些简单的str_replace()开启$htmlString ,但他们都没有做我需要做的事情。我有什么遗漏的吗?

最佳答案

我认为您应该将代码保存到文件中并通过 src 属性从另一个域加载它。

至少jsfiddle.net使用这种方式。

关于javascript - 如何对 HTML 的 PHP 字符串进行编码以供 JavaScript 函数用作字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46207467/

相关文章:

php - 当前浏览器检测的最佳实践是什么

internet-explorer - IE9 - 主页中的怪癖模式和特定 iframe 中的 "Internet Explorer 9 Standards"

javascript - 新的Webworker或postMessage,每次都会创建新的线程

javascript - AngularJS - 如果输入不是数字,如何输入数字 0

php - 搜索 RSS 源

php - 在 php 中使用 id 从数据库表中删除项目

javascript - Html/javascript 验证失败

php - 文件上传并保存

javascript - JQUERY 问题,为什么我不能在本地托管的 iframe 内进行更改?

html - 坚持我的页脚页面的响应能力