Поддерживаемое подмножество html-тегов довольно скудное и не изменилось навсегда:
<a>, <b>, <br>, <font>, <img>, <i>, <li>, <p>, <textformat>, <u>
Это означает, что независимо от качества конвертации, HTML не может быть отображен как полностью предназначенный; Вы также можете отказаться от значительной части стиля CSS, если замените неподдерживаемые теги более простыми.
При этом http://simplehtmldom.sourceforge.net/ (PHP) будет работать с некоторыми настройками, и он достаточно компетентен, чтобы справиться и с неверной разметкой (видя, как вы обрабатываете контент из различных источников, я бы сказал, что одна только функция спасет много боли в долгосрочной перспективе) - чем заменить
<h1>,...,<h6> => <b>
<strong> => <b>
<em> => <i>
и оставьте открытым текст в параграфах, вы будете удивлены, насколько читаемым он все еще будет. Вы могли бы быть немного фантазии, например, так:
<h1> => <b class="header1">
и при необходимости добавьте немного css (хотя поддержка flash css тоже довольно ограничена)
Я сохранил это для пустыни - вы либо полюбите его, либо ненавидите, но это поможет. Предполагая, что ваше приложение развернуто в браузере (если нет, и я неправильно вас прочитал, избавьте меня от смущения и прекратите читать прямо здесь), вы можете использовать iframe для серьезного отображения html.
JS <-> AS связь довольно проста, и вы можете расположить ее над заранее определенной областью вашего приложения, создавая иллюзию, что она является его частью; просто не забудьте правильно задать режим окна для объекта flash / embed, чтобы он не отображался поверх других элементов страницы, а затем увеличьте z-индекс iframe.
Я бы не удивился, если бы это воспринималось как «уродливый» подход, но он прекрасен изнутри - в итоге вы получите дословный HTML и реальную поддержку CSS. Что касается взаимодействия с пользователем, вы можете даже перехватывать ссылки и т. Д. В iframe и запрашивать действие из мувиклипа.