php - 清理 HTML 格式的内容以便在 Flash 中显示?

标签 php html flash apache-flex actionscript

我想在 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/

相关文章:

javascript - 按钮 "Search books"的 onclick 函数不起作用,因为我没有收到任何警报...函数 SendInform() 未被调用

flash - 有没有把HTML5 + JS + CSS 转换成SWF 的工具?

apache-flex - Flash ActionScript 3 中使用的标准映射/关联数组结构?

flash - 将 Flash 视频转换为 HTML5

php - php 中的 strtotime() 始终返回 01-01-1970

javascript - 如何使用javascript将网页上的图像保存到服务器?

html - CSS 流体布局和图像

javascript - 使用 jquery 的 AJAX 的外部 scripts.js 在 HTMLInputElement.onkeyup 处返回 Uncaught ReferenceError

php - Laravel + AngularJs : cant execute SQL command

php - 如何使用搜索框 Bootstrap 处理下拉列表中的大数据