我需要一种将数字
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>
原文地址:https://www.jb51.cc/html/224755.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。