如何将输入和编辑过的文本中的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获取。该怎么办?
答案 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
,您可以考虑修改博客代码以满足您的需求。