我正在将两个HTML文件合并在一起,因此,它们有重复的<head> </head>
,<html> </html>
和<body> </body>
标记。有没有办法让preg_replace删除仅 第二批次的重复标记,以便第二个文档的内容混合在一起没有任何问题?
如果不是preg_replace,还有另一种方法吗?
概念信息:
在这种情况下,有两个文件。最终会有更多。
每个文件都是这样开始的:
<html>
<head>
<style type='text/css'>
(Template Data)
</style>
</head>
<body>
我的脚本正在获取这些文件(存在于某个目录中),并创建一个组合两个输出的新文件。但是,结果如下:
<html>
<head>
<style type='text/css'>
(Template Data)
</style>
</head>
<body>
blah blah blah
<html>
<head>
<style type='text/css'>
(Template Data)
</style>
</head>
<body>
blah blah blah 2
这会创建重复的标签。所需的输出是:
<html>
<head>
<style type='text/css'>
(Template Data)
</style>
</head>
<body>
Blah blah blah
Blah blah blah 2
基本上删除了通过while循环处理的第一个HTML文件之外的所有HTML文件的头部数据
非常感谢!
答案 0 :(得分:1)
您可以在合并它之前在第二个HTML 上应用标记删除,然后将第一个HTML与剥离的第二个HTML合并。
如果您要合并更多HTML,这是一个伪代码示例:
$strip_tags = false;
foreach ($htmls_to_merge as $html) {
if ($strip_tags) { // this will be false in the first iteration, then true
$html = what you do to strip the tags;
}
merge;
$strip_tags = true;
}
答案 1 :(得分:0)
您可以尝试SoftSnow Merger。不是一种非常黑客的做事方式,只要它有效......