如何从 Adobe Flex Builder RichTextEditor 获取 HTML 文本?
Posted
技术标签:
【中文标题】如何从 Adobe Flex Builder RichTextEditor 获取 HTML 文本?【英文标题】:How to get HTML text from Adobe Flex Builder RichTextEditor? 【发布时间】:2011-01-10 23:13:21 【问题描述】:如何从输入和编辑的文本中获取 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 格式获取其内容。这种事情怎么办?
【问题讨论】:
【参考方案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 >
<mx:RichTextEditor id="rte" />
<mx:TextArea 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
,您可以考虑修改博客代码以满足您的需要。
【讨论】:
【参考方案2】:有一个非常好的类,叫做 RteHtmlParser,它可以将 RTE 生成的“html”转换为 html 并返回。我一直在一个项目中使用它,效果很好。您可以在此处查看实时示例并获取源代码:http://blog.flashweb.org/archives/7
【讨论】:
以上是关于如何从 Adobe Flex Builder RichTextEditor 获取 HTML 文本?的主要内容,如果未能解决你的问题,请参考以下文章
adobe air vs flex vs flash builder ---我需要解释一下
在 ActionScript 3.0 中以编程方式检测 Adobe Air 和 Adobe Flex
如何解决 Adobe Flex 错误:“错误 #2036:加载从未完成”?
从带有 AIR SDK 3.9 的 Adobe Flex SDK 4.6 迁移到带有 AIR SDK 3.9 的 Apache Flex SDK 4.12.0