Hor*_*ren 9 php mysql diff contenteditable
我有一个<div contenteditable="true" />用户可以写的,其长度几乎是无限的.
div中的数据在MySQL数据库中通过时间戳保存.
现在,我的目标是在左侧有一个小注释,告诉用户何时创建文档的每个部分(分辨率应以天为单位).
现在,问题是:如何保存信息(什么时候更改的部分)最好?
到目前为止,我考虑了以下两个看似可以改进的选项:
任何意见/建议/建议高度赞赏!
arm*_*mel 12
您要实现的是源代码控制领域中称为"注释"或"责备"的功能(尽管您只需要更新日期而不是日期+作者或仅仅是作者).
要做到这一点,你需要一种方法来制作差异(php-diff可能会完成工作)并获得文本的版本.有几种策略:
存储最新版本并仅保留增量(例如统一差异,我的偏好)
存储所有版本并动态计算增量
获得当前版本和增量列表后(如果超过几十个三角洲,那么你肯定可以缩短列表,让用户提出更多,如果真的很重要).您可以将增量组合在一起,这是注释阶段发生的位置,因为您可以记住每行的哪个版本.实际上编写非常简单(从最新版本开始,补丁中添加的所有行都是最新版本,另一行需要解释,所以再次使用下一个补丁,直到找到你想要处理的最古老的补丁,其余的行来自该版本或最早的行,因此可以使用一些标记"在或之前".
Google有一个针对Javascript的差异库,因此可以在用户计算机上完成所有艰苦工作.他们也在这个库中有补丁部分.我没有找到annotate/blame库.