$homepage = file_get_contents("assets/page.html");
$removeTagsbyID = ['button' , 'navbar'];
foreach ($removeTagsbyID as $removeTagbyID) {
$pattern = "#<(.*?)$removeTagbyID(.*?)>#is";
$homepage = preg_replace($pattern, '', $homepage);
}
例如,如果我的数组包含id“ navbar”,
<div id="top-bar"><div id="navbar">Content</div></div>
它应该给:
<div id="top-bar"></div>
DOMDocument
和DOMDocument
对象来解析和处理HTML:输出
DOMXPath
function removeTagsByID($html, $ids) {
$doc = new DOMDocument();
$doc->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($doc);
// find element with specified ID values
foreach ($ids as $id) {
$tags = $xpath->query("//*[@id='$id']");
// and remove them
foreach ($tags as $tag) {
$tag->parentNode->removeChild($tag);
}
}
return $doc->saveHTML();
}
$html = '<div id="top-bar"><div id="navbar">Content</div></div>';
echo removeTagsByID($html, ['button' , 'navbar']);