在Flex RichEditableText中将XML表示为HTML

时间:2014-05-27 11:39:11

标签: html xml flex richeditabletext

我正在使用flex开发大文本的文字查找器。在那里,我使用RichEditableText来显示整个文本,当我找到一个单词时,我想用不同的颜色表示该文本的所有匹配单词。所以我用html颜色更改标签替换所有匹配的单词,如下所示。

var replacedContent:String = txtRichBox.Text.replace(new RegExp(txtSearch.text,"g"), "<font color='#ff0000'>"+txtSearch.text+"</font>");

然后我将它作为HTML设置为RichEditableText,如下所示。

txtRichBox.textFlow = TextConverter.importToFlow(replacedContent, TextConverter.TEXT_FIELD_HTML_FORMAT);

这对晚餐很好。

现在我有了新的要求。原始文本可以是XML。然后,如果我将带有颜色更改html标签的XML设置为RichEditableText,因为它将HTML标记也作为HTML标记,因此HTML会崩溃。

所以我试着替换&lt;和&gt;使用&amp; lt和&amp; gt唱出XML。

//Replace < with &lt
replacedContent:String = txtFileContent.text.replace(new RegExp("<","g"), "&lt");               

//Replace > with &gt
replacedContent = replacedContent.replace(new RegExp(">","g"), "&gt");

然后RichEditableText不会将它们渲染回&lt;和&gt;唱。它显示&amp; lt和&amp; gt原样。

有人能建议我解决这个问题吗?

0 个答案:

没有答案