我正在开发一个html模板生成器。我想将模板存储在mysql数据库中(如果效率更高,则存储文本文件)。我正在寻找序列化html和css的最佳方法,然后有效地重现原始文件。
Javascript和php将用于创建/编辑/删除浏览器和数据库中的元素,以便以后再现。
可以添加元素,例如div,p,a等,嵌套应该不是问题。我遇到的主要问题是如果div嵌套在div中并且段落元素稍后嵌套在第二个div中,那么所有这些都将存储在数据库中?元素将被删除,新元素将以随机顺序添加。
我希望这有点清楚。我并不是在寻找代码,而是关于如何协同工作的建议。任何帮助将不胜感激。提前致谢
答案 0 :(得分:0)
将整个事物作为blob存储在数据库的单个字段中。除非你做一些非常新颖的事情,否则数据库层没有理由需要对DOM结构有深入的了解。
答案 1 :(得分:0)
我想首先指出,你需要的是解析器而不是序列化方法。您只需存储模板,然后在读出时解析每个单独的元素,然后构建编辑表单。有点像xtgem那样。无需序列化。除非您已经解析了数组中的数据。
如果每个用户都有自己的模板,那么多次读取的可能性非常低。差不多了。平面文件在这种情况下会做得很好。无需消毒和更好的性能。不要忘记文件锁定。
如果要在文本输入或textarea元素中返回数据,则xss没有问题。您也不需要清理输出。
我同意@Rex。当我开发一个论坛时,我发现存储原件更好。它允许轻松编辑。
最好将文件分开并分别解析。将演示文稿与标记分开。 然而,解析器从未成为我的强项。所以我在这方面无能为力。 您可以从http://phpconcept.net查看pcltemplate,了解解析器的工作原理。也许给你一些想法。