如何从Adobe Flex Builder RichTextEditor获取HTML文本?

时间:2010-01-29 18:09:47

标签: flash flex actionscript mxml rich-text-editor

如何将输入和编辑过的文本中的HTML文本转换为Adobe Flex Builder RichTextEditor control?我的意思是来自Flex RichTextEditor组件的有效HTML

没有错误格式的HTML,没有空格,标签未关闭!

所以我们用RTE a-la编辑了一些文本 alt text http://livedocs.adobe.com/flex/3/html/images/RTE1.png

我们希望将其内容作为HTML获取。该怎么办?

2 个答案:

答案 0 :(得分:3)

有一个非常好的类叫做 RteHtmlParser ,它可以将RTE生成的“html”翻译成html并返回。我一直在项目中使用它,它很好用。您可以在此处查看实时示例并获取源代码:http://blog.flashweb.org/archives/7

答案 1 :(得分:1)

您使用的是哪种版本的框架?当我尝试使用3.2创建链接示例的副本时,我会得到格式良好的HTML。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:HBox width="100%" height="100%">
    <mx:RichTextEditor id="rte" />
    <mx:TextArea height="{rte.height}" width="{rte.width}" text="{rte.htmlText}" />
</mx:HBox>  
</mx:Application>

我的Flex 3.2输出看起来像这样,丑陋但结构良好:

<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="Verdana" SIZE="12" COLOR="#009900" LETTERSPACING="0" KERNING="1"><B>This is the way the world ends</B></FONT></P></TEXTFORMAT>

示例网站中的相同文字表示格式错误:

<P text-align:CENTER;><span style="font-family:Verdana; font-size:12px; color:#009900;  "><strong>This is the way the world ends</strong></span>

(您可以为您的示例发布源代码;您已启用“查看源代码”,但实际上并不可用。)

编辑:

您正在使用的外部代码执行以下操作,以及其他修改:

pattern = /<\/P>/g;
str = str.replace(pattern, “”);

这样就解释了丢失的</p>标签。

我不确定他们的用例是什么,但它看起来与你想要的不同。如果要清理RichTextEditor返回的默认htmlText,您可以考虑修改博客代码以满足您的需求。