html - 是否可以在 <pre> 标签内使用 CDATA

标签 html xhtml cdata

我想在 HTML 页面中显示异常跟踪。

一种方法是在异常跟踪中转义 HTML 特殊字符并将其转储到 <pre> 中标签。

虽然它有效,但效率非常低。我认为一种方法是用 CDATA 包装跟踪。我已经试过了,但没有任何显示。

我的问题,这可以做到吗?

这是我微弱的尝试。

  <pre><![CDATA[blah, blah, blah with <>
  and blah blah blah with &
    and more blah, blah]]></pre>

最佳答案

只有当您将页面作为 XML ( application/xhtml+xml ) 提供时,它才会起作用;纯 HTML 中没有 CDATA 部分。大多数 HTML 模式的浏览器只会忽略示例 CDATA 部分。

并 throw <![CDATA[ ... ]]>无论如何,围绕一个字符串不足以包裹它。如果您的跟踪信息具有序列 ]]>在其中,这将结束 CDATA 部分,您将回到同样的问题。因此,您必须至少进行一次转义才能应对这种情况,如果您无论如何都要进行一次转义过程,您不妨进行一次适当的 HTML 转义。

这就是 CDATA 部分在很大程度上毫无意义的原因。很多人似乎认为这能以某种方式免除他们对逃避问题的思考,但事实并非如此。

无论如何,HTML 转义并不是低效的。这是几个字符串替换。任何网络应用程序 (*) 都会对每个页面进行一百次 HTML 转义。再加一个⟩——⟩特别是对于效率根本不重要的调试案例! —> 没有太大的负担。

(*:好吧,除了 PHP 教程中写得不好的应用程序,显然,其作者甚至从未听说过 htmlspecialchars。)

关于html - 是否可以在 <pre> 标签内使用 CDATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2746803/

相关文章:

javascript - 在 JavaScript 中使用 Regex 处理阿拉伯语单词

css - p :selectOneMenu list not displaying properly

xml - 通过 XSLT 使用 CDATA 部分包围 XML 元素

iphone - 将 NSXMLParser 与 CDATA 一起使用

xml - 如何使用 PowerShell 使用 XML 路径变量读取 XML 文件中的 CDATA?

javascript - 替换部分属性值

javascript - 如何在更改选择框选项时显示和隐藏表单控件

java - 从 Selenium 中的内部标记中提取文本

css - 有没有可以内联css的工具?

html - 100% 最小高度 CSS 布局