从htmlText中删除字体标记

时间:2012-01-16 13:00:21

标签: html xml flash actionscript-3

我想从TextField生成的htmlText字符串中删除字体标记,保留周围的节点和任何粗体等标记。

htmlText的部分输出示例:

<P ALIGN="LEFT"><FONT FACE="ChampagneLimo" SIZE="18" COLOR="#000000" LETTERSPACING="0" KERNING="0">Lorem Ipsum</FONT></P>

我的计划是避免尝试使用正则表达式创建XML对象。

但是,如果我创建一个包含根节点的新XML对象,然后尝试ap​​pendChild htmlText字符串,以便我有一个有效的XML对象来操作我遇到html实体的问题,请参阅下面的示例:

<html>&lt;P ALIGN="LEFT"&gt;&lt;FONT FACE="...

如何从htmlText中删除字体标记,如何从htmlText字符串创建有效的XML对象?我的计划是使用XML replace()方法,但我愿意接受建议。

1 个答案:

答案 0 :(得分:2)

只需将<html>标记添加到字符串中,而不是创建额外的节点:

var xml : XML = new XML ("<html>"+ myTextField.htmlText + "</html>");

您还可以使用正则表达式删除字体标记:

var reg:RegExp = /\<\/?FONT.*?\/?\>/gi; 
// matches all <FONT> start and end tags 
// (case-insensitive), along with any attributes 
var myHtmlText:String = myTextField.htmlText.replace (reg, "");