我目前正在使用https://github.com/rashid2538/php-htmldiff来扩展两个html网页,但问题是<script></script>
标记内的内容也有所不同,我不想这样做,因为它会破坏运行性。我已经查看了代码,但我无法弄清楚在哪里调整以忽略脚本标记,因为我只是开始使用php作为我的第一语言。我理解代码的解析原理,但其他一切对我来说都很神秘。
有人可以建议或提供有关改变内容的提示吗?
文件1:
<html>
<head>
<script> var thing = 'test'; </script>
</head>
<body>
</body>
</html>
file2的:
<html>
<head>
<script> var thing = 'anothertest'; </script>
</head>
<body>
</body>
</html>
结果:
<html>
<head>
<script> var thing = '<del class="diffmod">test</del><ins class="diffmod">anothertest</ins>'; </script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
您可以使用regex
从两个html
字符串中查找脚本标记,然后使用preg_replace()删除它们。之后,使用带有htmldiff
函数
$regex = '/<script\b[^>]*>(.*?)<\/script>/i';
$html1_parsed = preg_replace($regex, '', $html1);
$html2_parsed = preg_replace($regex, '', $html2);