Actionscript3 / Flex中的HTML特殊实体代码
发布时间:2020-12-15 01:48:23 所属栏目:百科 来源:网络整理
导读:我有一个Flex / Actionscript 3应用程序,它在Text元素中显示RSS提要.它删除了任何 HTML格式,但它没有正确处理 HTML特殊实体代码 – 它是渲染 mdash作为文字字符串而不是用em-dash等替换它.是否有任何系统的方法我可以处理它那些代码是否正确,或者我是否需要
我有一个Flex / Actionscript 3应用程序,它在Text元素中显示RSS提要.它删除了任何
HTML格式,但它没有正确处理
HTML特殊实体代码 – 它是渲染& mdash作为文字字符串而不是用em-dash等替换它.是否有任何系统的方法我可以处理它那些代码是否正确,或者我是否需要手动替换那些字符串正则表达式?
编辑:相关的Flex行为的某些方面:text和htmlText正确处理有限的字符子集而无需进一步调整 – & lt,& gt,& nbsp等等.(事实上,文本实际上处理它们比htmlText好一些,因为后者将& lt;视为字面值小于字符.)但是有一个更大的字符集(& deg,& mdash,以及许多其他字符)未被处理正确 – 至少,不是默认. 解决方法
这是一种方式:
static private var entityMap:Object = { ' ':' ','¡':'¡','¢':'¢','£':'£','¤':'¤','¥':'¥','¦':'¦','§':'§','¨':'¨','©':'©','ª':'ª','«':'«','¬':'¬','­':'­','®':'®','¯':'¯','°':'°','±':'±','²':'²','³':'³','´':'´','µ':'µ','¶':'¶','·':'·','¸':'¸','¹':'¹','º':'º','»':'»','¼':'¼','½':'½','¾':'¾','¿':'¿','À':'À','Á':'Á','Â':'Â','Ã':'Ã','Ä':'Ä','Å':'Å','Æ':'Æ','Ç':'Ç','È':'È','É':'É','Ê':'Ê','Ë':'Ë','Ì':'Ì','Í':'Í','Î':'Î','Ï':'Ï','Ð':'Ð','Ñ':'Ñ','Ò':'Ò','Ó':'Ó','Ô':'Ô','Õ':'Õ','Ö':'Ö','×':'×','Ø':'Ø','Ù':'Ù','Ú':'Ú','Û':'Û','Ü':'Ü','Ý':'Ý','Þ':'Þ','ß':'ß','à':'à','á':'á','â':'â','ã':'ã','ä':'ä','å':'å','æ':'æ','ç':'ç','è':'è','é':'é','ê':'ê','ë':'ë','ì':'ì','í':'í','î':'î','ï':'ï','ð':'ð','ñ':'ñ','ò':'ò','ó':'ó','ô':'ô','õ':'õ','ö':'ö','÷':'÷','ø':'ø','ù':'ù','ú':'ú','û':'û','ü':'ü','ý':'ý','þ':'þ','ÿ':'ÿ','ƒ':'ƒ','Α':'Α','Β':'Β','Γ':'Γ','Δ':'Δ','Ε':'Ε','Ζ':'Ζ','Η':'Η','Θ':'Θ','Ι':'Ι','Κ':'Κ','Λ':'Λ','Μ':'Μ','Ν':'Ν','Ξ':'Ξ','Ο':'Ο','Π':'Π','Ρ':'Ρ','Σ':'Σ','Τ':'Τ','Υ':'Υ','Φ':'Φ','Χ':'Χ','Ψ':'Ψ','Ω':'Ω','α':'α','β':'β','γ':'γ','δ':'δ','ε':'ε','ζ':'ζ','η':'η','θ':'θ','ι':'ι','κ':'κ','λ':'λ','μ':'μ','ν':'ν','ξ':'ξ','ο':'ο','π':'π','ρ':'ρ','ς':'ς','σ':'σ','τ':'τ','υ':'υ','φ':'φ','χ':'χ','ψ':'ψ','ω':'ω','ϑ':'ϑ','ϒ':'ϒ','ϖ':'ϖ','•':'•','…':'…','′':'′','″':'″','‾':'‾','⁄':'⁄','℘':'℘','ℑ':'ℑ','ℜ':'ℜ','™':'™','ℵ':'ℵ','←':'←','↑':'↑','→':'→','↓':'↓','↔':'↔','↵':'↵','⇐':'⇐','⇑':'⇑','⇒':'⇒','⇓':'⇓','⇔':'⇔','∀':'∀','∂':'∂','∃':'∃','∅':'∅','∇':'∇','∈':'∈','∉':'∉','∋':'∋','∏':'∏','∑':'∑','−':'−','∗':'∗','√':'√','∝':'∝','∞':'∞','∠':'∠','∧':'∧','∨':'∨','∩':'∩','∪':'∪','∫':'∫','∴':'∴','∼':'∼','≅':'≅','≈':'≈','≠':'≠','≡':'≡','≤':'≤','≥':'≥','⊂':'⊂','⊃':'⊃','⊄':'⊄','⊆':'⊆','⊇':'⊇','⊕':'⊕','⊗':'⊗','⊥':'⊥','⋅':'⋅','⌈':'⌈','⌉':'⌉','⌊':'⌊','⌋':'⌋','⟨':'〈','⟩':'〉','◊':'◊','♠':'♠','♣':'♣','♥':'♥','♦':'♦','"':'"','&':'&','<':'<','>':'>','Œ':'Œ','œ':'œ','Š':'Š','š':'š','Ÿ':'Ÿ','ˆ':'ˆ','˜':'˜',' ':' ',' ':' ',' ':' ','‌':'‌','‍':'‍','‎':'‎','‏':'‏','–':'–','—':'—','‘':'‘','’':'’','‚':'‚','“':'“','”':'”','„':'„','†':'†','‡':'‡','‰':'‰','‹':'‹','›':'›','€':'€' }; static public function convertEntities(str:String):String { var re:RegExp = /&w*;/g var entitiesFound:Array = str.match(re); var entitiesConverted:Object = {}; var len:int = entitiesFound.length; var oldEntity:String; var newEntity:String; for (var i:int = 0; i < len; i++) { oldEntity = entitiesFound[i]; newEntity = entityMap[oldEntity]; if (newEntity && !entitiesConverted[oldEntity]) { str = str.split(oldEntity).join(newEntity); entitiesConverted[oldEntity] = true; } } return str; } 信用到期的信用:此代码由我的熟人(蒂姆霍金斯)优化,该熟人从原来的Flash HTML Entities Suck进行了修改. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |