Javascript PHP差异跳过脚本标记
我目前使用的是区分两个html页面,但问题是Javascript PHP差异跳过脚本标记,javascript,php,html,Javascript,Php,Html,我目前使用的是区分两个html页面,但问题是标记中的内容也不同,这是我不想看到的,因为它破坏了可运行性。我已经看过了代码,但是我不知道应该在哪里进行调整以忽略脚本标记,因为我刚刚开始使用php作为我的第一语言。我理解代码的解析原理,但其他一切对我来说都很神秘 有人能给我一些建议或提示吗 文件1: <html> <head> <script> var thing = 'test'; </script> </head
标记中的内容也不同,这是我不想看到的,因为它破坏了可运行性。我已经看过了代码,但是我不知道应该在哪里进行调整以忽略脚本标记,因为我刚刚开始使用php作为我的第一语言。我理解代码的解析原理,但其他一切对我来说都很神秘
有人能给我一些建议或提示吗
文件1:
<html>
<head>
<script> var thing = 'test'; </script>
</head>
<body>
</body>
</html>
var thing=‘test’;
文件2:
<html>
<head>
<script> var thing = 'anothertest'; </script>
</head>
<body>
</body>
</html>
var thing=‘另一个测试’;
结果:
<html>
<head>
<script> var thing = '<del class="diffmod">test</del><ins class="diffmod">anothertest</ins>'; </script>
</head>
<body>
</body>
</html>
var thing='testanothertest';
您可以使用regex
从两个html
字符串中查找脚本标记,然后使用删除它们。然后,将这两个字符串与htmldiff
函数一起使用
$regex = '/<script\b[^>]*>(.*?)<\/script>/i';
$html1_parsed = preg_replace($regex, '', $html1);
$html2_parsed = preg_replace($regex, '', $html2);
$regex='/]*>(.*)/i';
$html1_parsed=preg_replace($regex,,$html1);
$html2_parsed=preg_replace($regex,,$html2);
包括您正在区分的HTML文件的示例。显示您的代码,否则将无法概括您的要求。@JuanDiego我包括了基本示例。HTMLDiff的代码只发送了两个字符串到我考虑过的页面中,但这意味着Diff页面根本没有任何javascript,不幸的是,这不能成为一个选项。我想我可以尝试搜索脚本标记,并在差异之后重新插入它们。