如何解决preg_replace或其他以删除重复的标签
| 我将两个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文件的头部数据切出
非常感谢!
解决方法
您可以在合并之前将标记删除应用于第二个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;
}
, 您可以尝试SoftSnow Merger。只要工作正常,这不是黑客般的做事方式...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。