Dev*_*s50 5 html php diff levenshtein-distance
我正在用 php 编写一个工具来比较 HTML 文件并显示差异。现在我正在寻找一种有效的方法来计算两个 HTML 文件之间的百分比差异。这些文件可以是任意长的(我拥有的文件可以长达 300000 个字符)。
经过一番研究,我偶然发现了 Levensthein 距离,它是一种 O(n*m) 算法,需要空间 O(n*m):php 版本最多只能支持 255 个字符,而我自己实现的 O(n) 空间,太慢了。之后,我尝试了php函数similar_text,但是该算法对于非常大的HTML文件来说也太慢了。
所以现在我正在寻找另一种更有效的算法来比较 HTML 文件。近似算法也很好。有人可以给我一些关于如何做到这一点的建议吗?
您可以设置 xdiff 扩展:
http://www.php.net/manual/en/function.xdiff-file-diff.php
然后获取两个文件的差异,根据该差异,您可以轻松得出百分比。
例子:
差异结果:从 A 到 B 200 个单词差异
这会给你 50% 的相似度。
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |