首先,让我们正常化的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:“这是”。我如何指定颜色有问题吗? –