在ColdFusion中解码数字HTML实体?

前端之家收集整理的这篇文章主要介绍了在ColdFusion中解码数字HTML实体?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一种将数字 HTML实体转换为纯文本字符等价物的方式.例如,我想转一下实体:
é

进入角色:

é

通过一些谷歌搜索,我发现一个名为HtmlUnEditFormat功能,但这个功能只能转换命名实体.有没有办法在ColdFusion中解码数字实体?

解决方法

更新答案:

感谢Todd Sharp指出了一个非常简单的方法,使用与CF(和Railo)一起打包的Apache Commons StringEscapeUtils库,因此您只需执行以下操作:

<cfset Entity = "&##0233;" />
<cfset StrEscUtils = createObject("java","org.apache.commons.lang.StringEscapeUtils") />
<cfset Character = StrEscUtils.unescapeHTML(Entity) />

原始答案:

这个链接功能是愚蠢的 – 没有必要明确地命名它们,如你所说,它不做数字.

更简单的是让CF为你做的工作 – 使用XmlParse函数

<cffunction name="decodeHtmlEntity" returntype="String" output="false">
    <cfargument name="Entity" type="String" hint="&##<number>; or &<name>;" />
    <cfreturn XmlParse('<xml>#Arguments.Entity#</xml>').XmlRoot.XmlText />
</cffunction>

那一个与Railo合作,我不记得CF是否支持该语法,所以你可能需要将它改为:

<cffunction name="decodeHtmlEntity" returntype="String" output="false">
    <cfargument name="Entity" type="String" hint="&##<number>; or &<name>;" />
    <cfset var XmlDoc = XmlParse('<xml>#Arguments.Entity#</xml>') />
    <cfreturn XmlDoc.XmlRoot.XmlText />
</cffunction>

猜你在找的HTML相关文章