可以将 HTML 代码转换为 ActionScript 吗?

It is possible to convert HTML code into ActionScript?

我有一个供我的业务后台人员使用的 ASPX Web 应用程序。在其中一个后台模块中,我正在使用 TinyMCE 编辑一些文本,然后再将其保存到数据库中。文本如下所示:

<p data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">
    <strong>Is</strong>
     one of the 
    <span style="text-decoration: underline;" data-mce-style="text-decoration: underline;">most</span>
     brilliant 
    <span style="background-color: rgb(255, 204, 153);" data-mce-style="background-color: #ffcc99;">ballets</span>
     in the 
    <strong>world</strong>
    . "
    <em>Sleeping Beauty</em>
    " take 
    <span style="color: rgb(51, 153, 102);" data-mce-style="color: #339966;">us</span>
     to an 
    <a href="http://pt.wikipedia.org/" target="_blank" data-mce-href="http://pt.wikipedia.org/">unchanted</a>
    &nbsp;place
</p>
<ul>
    <li data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">with forests,</li>
    <li data-mce-style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; font-family: 'Segoe UI'; font-size: 14px; background-color: #f7f7f7;">curses and faries,</li>
</ul>
<p style="text-align: justify;" data-mce-style="text-align: justify;">
    with a romantic and lovely 
    <span style="color: rgb(0, 0, 255);" data-mce-style="color: #0000ff;">song</span>
    . A fantastic
    <sup>show</sup>.
</p>

一个移动前端应用程序(由另一个人在 Flash 中开发)需要显示所有样式完整的文本。但是,有时应用程序不显示任何内容,开发人员说这是因为 Flash 不喜欢 HTML tags/styles.

我想我们可以使用某种解析器将 HTML 代码转换成更适合 Flash 的代码,但我找不到任何东西。我看到了这两个链接,但我对 ActionScript 一无所知,所以它们对我帮助不大:

有什么简单的方法可以将 HTML 转换成 ActionScript 吗?

很遗憾没有"simple way"。

正如您已经发现的那样,TextField class 支持通过 htmlTextstyleSheet 的基本 HTML 和 CSS 渲染属性,但是 supported tags and styles 非常有限。在某些情况下,您可以转换标签(使用 RegExp 或简单的字符串搜索)以接近原始样式。

此外,data-mce-style 之类的内容是 MCE 特有的,因此您必须将其转换为 HTML 中有意义的内容。

如果您使用的是 AIR,则可以使用 HTMLLoaderStageWebView。这两个 classes 使用完整的 HTML 渲染引擎(WebKit 或本机网络渲染器)。

最后,这可能是您的最佳选择,在网络浏览器中,您可以在 SWF 上覆盖 <div>(使用 wmode=opaquetransparent)并显示 HTML 在浏览器中。