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

时间:2015-03-17 14:06:46

标签: html actionscript-3 flash actionscript tinymce

我的业务后台员工有一个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标签/样式。

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

有没有简单的方法将HTML转换为ActionScript?

1 个答案:

答案 0 :(得分:2)

不幸的是,没有“简单的方法”。

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

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

如果您使用 AIR ,则可以使用HTMLLoaderStageWebView。这两个类都使用完整的HTML呈现引擎(WebKit或本机Web呈现器)。

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