1
2
您的建议对我来说完全合理:每个修订版一个表,每个“可显示文章”一个表,有效链接到修订版表中的当前修订版。有什么详细的吗? 你 能够 在一张表中用某种“当前”列来伪造它,但是您必须确保对于任何特定的文章只有一个最新的修订版本,这对我来说是相当讨厌的。 |
2
3
第1部分:数据结构 (来自原始问题) :
第2部分:检测和呈现两次修订之间的差异
:
虽然我对PHP及其库知之甚少,但下面的链接可以帮助您开始:
|
3
1
尝试将其存储为XML 就我所能理解的问题而言。如果我们将每行存储为一行,就可以解决这个问题。 但这将是糟糕的,因为行数急剧增加。 所以将数据存储在一行中
每一行都是XML格式的。 当您检索它时,可以使用num属性比较行。 |
4
0
您的问题可以概括为“版本控制是如何实现的?”通常情况下,每个修订版都存储为与旧版本的差异,而不是重新存储整个文本(尽管有很多变化)。大多数系统可以/将为非文本格式存储所有完整的版本,因为它们无法将更改隔离为“行”。 |
5
0
如果我正确理解了您的标记,那么您正在寻找
下面是一些有趣的PHP实现。我没有和他们合作过,所以我不能告诉你他们有多好,是否符合你的要求,但他们至少是一个起点:
根据您的服务器配置,您还可以使用Linux命令行
|
6
0
我不知道您是在处理代码差异还是更一般的文档。几年前,我做了一个实现,显示了不同版本的wiki文档,两个版本并排,旧版本上的删除标记为红色,新版本上的添加标记为绿色。所有这些都是在javascript中完成的,首先只提取HTML的文本部分,然后对这些部分进行比较(使用 diff_match_patch.js ,然后使用diff结果确定要突出显示的内容(使用样式更改背景颜色)。这是相当棘手的,不完美(但足够接近),涉及到相当多的DOM操作。所以,可行,但不容易。 |