我想比较Html文档是否存在具有相同排列的相同标记,而不管内部文本和属性值是否不同。我只是想比较一下一般的标签结构。如
<html>
<head>
</head>
<body>
<span class="my paragraph">comparison of general tag structure of html</span>
</body>
</html>
和
<html>
<head>
</head>
<body>
<span class="Mega Offer">free membership offer</span>
</body>
</html>
是相同的
但是
<html>
<head><title>Different</title>
</head>
<body>
<span class="my paragraph">comparison of general tag structure of html</span>
</body>
</html>
不相同,因为在标签的html结构中有一个额外的title标签,而不管内部值和属性值是相同的。
如果你愿意使用php,有几个函数,比如preg_match,可以查找模式。您可以使用file
将html文件读取到数组中,每一行都是数组中的另一个条目。然后对其他html文件执行相同操作。然后你可以去搜索第一个标签(也就是:以<
开头的东西),并阅读这行的其余部分,直到>
。然后在另一个html文件中搜索相同的标记,计算该标记出现的次数。冲洗并重复。
我将分两个阶段进行:
第1阶段(检查是否相等):
删除标记和属性之间的所有内容,然后将结果作为(不区分大小写)字符串进行比较。
如果它们不同,也是这样:
第二阶段(找出差异):
这个阶段在很大程度上取决于您想要报告的差异,所以我不能给出如何实现它的具体建议。