将脚本html标记转换为纯文本

时间:2014-09-02 12:19:35

标签: javascript html

好吧,我想获取预标记内的HTML,并将其转换为可读文本!

我的代码适用于大多数事情:

var pre = document.getElementsByTagName("pre");

for(i in pre) {
    pre[i].textContent = pre[i].innerHTML;
}

但它不适用于脚本标记,脚本标记在转换为文本之前加载。 如果可能的话,我真的不想用整个库来做这件事。

E.g。尽管在<pre>标记内,仍会显示以下警告。

<pre>
    <script>window.alert("Test!");</script>
<pre>

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

要使某些标记可​​读,只需将<更改为&lt;,将>更改为&gt;。浏览器不会执行任何操作,用户仍会看到<script>alert(321)</script>

答案 1 :(得分:0)

遇到script - 标记时,它们将被执行。这意味着script - 代码中的pre - 代码应该被转义&#39;在他们被处理之前。

执行此操作的一种方法是在处理pre之前撤消PHP的内容(例如pre)。

在加载之前,您无法访问script - 标记,并且无法阻止{{1}} - 标记在已加载时执行。