首先,讓我們正常化的HTML內容(我加了<content>
標籤,使之有效):
var mytext:XML = XML("<mytext><![CDATA[<content>My name is <color value="FF0000">Bill</color>.</content>]]></mytext>");
下一步是解析給定的XML:
var roughXML:XML = XML(mytext.text().toString());
然後,你必須用標準標籤代替您的自定義標籤:
var output:XML = XML("<span/>");
for each(var tag:XML in roughXML.children())
{
if (tag.name() == "color")
{
var fontTag:XML = XML("<font/>");
[email protected] = [email protected]();
fontTag.appendChild(tag.text());
output.appendChild(fontTag);
}
//you can add here any rule for substitution that you need
else
{
output.appendChild(tag);
}
}
最後,您可以使用s:RicheEditableText
顯示您的文字
var textFlow:TextFlow = TextConverter.importToFlow(output.toXMLString(), TextConverter.TEXT_FIELD_HTML_FORMAT);
myRichEditableText.textFlow = textFlow;
哇!我想(我還在研究它..)這就是我需要的!只是一點點補充:在** if子句**之後加上tag.name(),在var fontTag之後...我認爲它必須被輸入fontTag.appendChild(tag.text())?對? –
你完全正確(編輯),我很高興你得到它:) – Kodiak
只是一個更多的評論,因爲我還不知道(我要研究它)TextConverter類:當我改變第二個參數importToFlow ()方法** TEXT_FIELD_HTML_FORMAT **我只是得到沒有顏色的文本,當我把你提供的常量,我只得到了out-of-color-tag-text:「這是」。我如何指定顏色有問題嗎? –