首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转义和未转义HTML

转义和未转义HTML
EN

Stack Overflow用户
提问于 2018-04-29 17:57:37
回答 2查看 1.2K关注 0票数 1

在我不控制的函数中,数据是通过

代码语言:javascript
复制
return xmlFormat(rc.content)

我以后想做一个

代码语言:javascript
复制
<cfoutput>#resultsofreturn#</cfoutput>

问题是所有的HTML标记都是转义的。

我已经考虑过

代码语言:javascript
复制
<cfoutput>#DecodeForHTML(resultsofreturn)#</cfoutput>

但我不确定这些是彼此的对立面

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-30 18:34:07

就像禤浩焯总结的那样,最好的选择是实施一个系统,以获得预编码值。

在当前状态下,您使用的字符串是为xml文档编码的。一种选择是使用文本创建xml文档,并将文本从xml文档中解析回来。我不知道这个方法的效率有多高,但是它会将文本返回到它预先编码的值。

代码语言:javascript
复制
function xmlDecode(text){
    return xmlParse("<t>#text#</t>").t.xmlText;
}

TryCF.com实例

票数 4
EN

Stack Overflow用户

发布于 2018-04-30 05:44:42

从CF 10开始,您应该使用更新的encodeFor函数。这些功能占高的ASCII字符以及UTF-8字符.

老掉牙的

  • XmlFormat()
  • HTMLEditFormat()
  • JSStringFormat()

新热点

  • encodeForXML()
  • encodeForXMLAttribute()
  • encodeForHTML()
  • encodeForHTMLAttribute()
  • encodeForJavaScript()
  • encodeForCSS()

这些函数的输出因上下文不同而不同。

然后,如果您只获得转义HTML,则可以使用Jsouo或库将其转换回来。有相关答案中的几个例子

显然,最好的解决方案是更新现有函数以返回任何一个版本的内容。是否有方法复制该函数以返回未转义的内容?或者您可以从一个使用Java解决方案来转换HTML的新函数调用它吗?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50089650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档