我的业务后台员工有一个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>
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?
答案 0 :(得分:2)
不幸的是,没有“简单的方法”。
正如您已经发现的那样,TextField
类确实通过htmlText
和styleSheet
属性支持基本的HTML和CSS呈现,但是supported tags和{{3}是非常有限的。在某些情况下,您可以转换标签(使用RegExp
或简单的字符串搜索)以接近原始样式。
此外,data-mce-style
之类的内容特定于MCE,因此您必须将其转换为HTML中有意义的内容。
如果您使用 AIR ,则可以使用HTMLLoader
或StageWebView
。这两个类都使用完整的HTML呈现引擎(WebKit或本机Web呈现器)。
最后,这可能是您的最佳选择,在网络浏览器中,您可以将<div>
覆盖在SWF上(使用wmode=opaque
或transparent
)并在浏览器中显示HTML 。