html - 使用 ColdFusion 函数 XMLFormat() 时如何转义 HTML 字符实体?

标签 html xml coldfusion character-encoding

我有以下 HTML block :

<p>The quick brown fox jumps over the lazy dog &mdash; The quick brown fox jumps over the lazy dog.</p>
<p>The quick brown fox jumps over the lazy dog &mdash; The quick brown fox jumps over the lazy dog.
<br>The quick brown fox jumps over the lazy dog &mdash; The quick brown fox jumps over the lazy dog.

它不是有效的 XHTML。但是,我需要将此 HTML 包含在 XML 文档中。我尝试使用 XMLFormat()为了转换 <&lt;>&gt; ,效果很好。不幸的是,它也会转换 &mdash;&amp;mdash; ,它无效并在 CFXML 标记中引发异常。

<cfxml variable="myXML">
    <content>#XMLFormat(myHTML)#</content>
</cfxml>

我该如何解决这个问题?

最佳答案

您有几个选择。很大程度上取决于如何使用这些内容。包含所需的输出文档以及指示该 xml 的使用位置将非常有帮助。

如果你根本不想弄乱 HTML 的内容,你总是可以使用 CDATA ,像这样:

<cfxml variable="myXML">
    <content><![CDATA[#myHTML#]]></content>
</cfxml>

此外,我知道您说您不想转换剩余的 & 符号,但我只是不明白这是怎么回事。要么 HTML 内容是您要处理的字符串——在这种情况下,所有内容都应该进行转义,以便以后可以取消转义——或者它是您希望成为文档一部分的有效 XML。我的意思是,当您处理 <content> 的内容时稍后标记,如果未转义 & 符号,您将遇到问题。

关于html - 使用 ColdFusion 函数 XMLFormat() 时如何转义 HTML 字符实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2187991/

相关文章:

html - 调整大小时,我的 Bootstrap 行超出了页面宽度?

java - Android 布局中的绝对居中

java - xstream 序列化堆空间

mysql - 检索项目类型、它们的子类型以及这些类型和子类型的计数

coldfusion - 在 ColdFusion 中生成等同于 .NET 成员密码盐的密码盐

javascript - Canvas - 图像不透明度循环(淡入)

javascript - 显示与所需引用相匹配的正确项目

javascript - 无需哈希或迭代即可检测 URL 更改

c# - 从 XML 填充类对象

algorithm - 嵌套 <cfloop> 以显示查询结果 - <UL> 或表格?