Как получить текст HTML из Adobe Flex Builder RichTextEditor? - PullRequest
3 голосов
/ 29 января 2010

Как получить текст HTML из введенного и отредактированного текста в Элемент управления Adobe Flex Builder RichTextEditor ? Я имею в виду с действительным HTML из компонента Flex RichTextEditor

Неплохо отформатированный HTML, без пробелов, с закрытыми тегами!

Итак, у нас есть текст, отредактированный с помощью RTE а-ля альтернативный текст http://livedocs.adobe.com/flex/3/html/images/RTE1.png

Мы хотим получить его содержимое в формате HTML. как это сделать?

Ответы [ 2 ]

3 голосов
/ 29 января 2010

Есть действительно хороший класс с именем RteHtmlParser , который может переводить сгенерированный RTE "html" в html и обратно. Я использовал его в проекте, и он работает хорошо. Вы можете увидеть живой пример и получить исходный код здесь: http://blog.flashweb.org/archives/7

1 голос
/ 29 января 2010

Какую версию фреймворка вы используете? Когда я пытаюсь создать дубликат вашего связанного примера, используя 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>

(Вы можете опубликовать исходный код для своего примера; у вас включена функция «Просмотр исходного кода», но она на самом деле недоступна.)

EDIT:

Используемый вами внешний код, помимо прочих модификаций, выполняет следующие действия:

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

Это объясняет отсутствующие теги </p>.

Я не уверен, каков был их вариант использования, но он отличается от того, что вы хотите. Если вы хотите очистить значение по умолчанию htmlText, возвращаемое RichTextEditor, вы можете обновить код блога в соответствии со своими потребностями.

...