我想在 Flash Flex 应用程序中显示来自各种来源的 HTML 格式内容。 Flash 在其文本字段中支持 HTML 格式,但是与 Web 浏览器相比它非常有限。是否有任何脚本可以将常见的 HTML 格式文本转换为 Flash 可以处理的格式?我的特定用例是:
- 在 Flash 中显示 HTML 格式的电子邮件
- 在 Flash 中显示 RTF 文件(在服务器上运行 RTF2HTML 转换之后)
- 显示从其他来源复制并粘贴到 Flash 中的随机 HTML 内容
我对在客户端或服务器上运行的代码持开放态度,但服务器可能更可取。
最佳答案
所支持的 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 对象上正确设置 windowmode/embed,这样它就不会呈现在其他页面元素之上,然后增加 iframe z-index。
如果这被视为一种“丑陋”的方法,我不会感到惊讶,但它的内部很漂亮——你最终会得到逐字逐句的 html 和真正的 css 支持。至于用户交互,您甚至可以拦截 iframe 中的链接点击等,并从动画片段中请求一个 Action 。
关于php - 清理 HTML 格式的内容以便在 Flash 中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9370139/