0

我们在安全地呈现通过 TinyMCE 编辑器发送和存储的电子邮件时遇到了一些困难。

内容深深嵌入到表格和 div 的层次结构中,看看 TinyMCE 是如何养成偶尔留下额外内容的习惯,比如说

</table>

这势必会给网站的 html 结构带来很大的不稳定性。

该站点运行 PHP (Symfony 1.4) 并支持 jQuery。

现在,我完全意识到我可能会用错误的心态和工具来解决这个问题,但我只是想找到一种方法:
陷阱 HTML,防止包含提供备用结束标签的 HTML 标记的 PHP 变量和关闭层次结构中较高的标签。

你将如何解决这个障碍?我知道

strip_tags($var)

PHP 功能,但我希望在安全性和稳定性允许的范围内保持 HTML 标记完整,以便尽可能接近其预期呈现电子邮件。

4

1 回答 1

1

解决此问题的常用方法是将文本存储在 2 个数据库列中(例如texttext_formatted)。

当您从 WYSIWYG 编辑器保存文本时,您应该格式化文本并保存到text_formatted(使用一些自定义解析功能,它应该关闭标签、删除一些字符等。我认为,有一些开源解析功能)。

然后,在输出中,您应该使用格式化文本

于 2013-10-31T07:52:19.590 回答