我们在通过TinyMCE编辑器安全发送和存储电子邮件时遇到了一些困难。
内容深深地嵌入在表格和div的层次结构中,并且看到TinyMCE如何习惯偶尔留下额外的内容,比如说
</table>
必然会给网站的html结构带来严重的不稳定性。
该网站正在运行PHP(Symfony 1.4)并支持jQuery。
现在,我完全意识到我可能会用错误的思维方式和工具来接近它,但我只是想找到一种方法:
陷阱HTML,防止包含PHP变量在标签层次结构中提供备用结束标记和关闭标记的HTML标记。
你会如何解决这个障碍?我知道
strip_tags($var)
PHP函数,但我希望,在安全性和稳定性允许的情况下,保持HTML标记的完整性,以便尽可能接近其预期的电子邮件。
答案 0 :(得分:1)
解决此问题的常用方法是将文本存储在2个数据库列中(例如text
和text_formatted
)。
当您从WYSIWYG编辑器保存文本时,您应格式化文本并保存到text_formatted
(使用一些自定义解析功能,应该关闭标签,删除一些字符等等。我认为,有一些开源解析函数)。
然后,在输出中,您应该使用格式化文本