2012-01-16 3 views
1

Я хотел бы удалить теги шрифтов из строки htmlText, созданной TextField, оставляя окружающие узлы и любые жирные и т. Д. Теги в целости.Удалить теги шрифта от htmlText

Пример парциальное выход HTMLText:

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

Мой план состоял в том, чтобы избежать попыток что-либо с регулярным выражением и создать объект XML.

Однако если я создаю новый объект XML, содержащий корневой узел, а затем пытаться AppendChild строки HTMLText так, что у меня есть действующий объект XML, чтобы манипулировать я столкнулся с проблемой с HTML сущностями, смотрите пример ниже:

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

Как теги шрифтов могут быть удалены из htmlText и как я могу создать допустимый объект XML из строки htmlText? Мой план состоял в том, чтобы использовать метод replace() XML, но я открыт для предложений.

ответ

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, "");