wat ik nu graag wil is de inhoud van dit bestand filteren en alle elementen verwijderen die de class "verwijderen" bevatten. Ik heb daarvoor al een php code die 1 en ander eruit filter. alleen deze werkt niet bij de elementen die naast de class "verwijderen" ook andere classes bevatten.
Onderstaande het stuk code dat gefilterd moet worden
<header id="headerbackcolor-9827" onclick="get_backgroundcolor_info(this.id)" class="backgroundpaul-webcolor2 headermenupaul_fixed">
<a id="hreflogo-9827" onclick="get_element_info(this.id)" href="https://toffewebsite.nl" target="_blank" class="logo_fixed res-logo_fixed">
<img onclick="changeimage(this.id);setimagelogo();stopprog()" id="logoimage-9827" style="max-width: 200px" src="images/logo/logo.png" title="Goochelshow" alt="Hier alt text"></a>
<input class="menu-btn_fixed" type="checkbox" id="menu-btn_fixed">
<label class="menu-icon_fixed" for="menu-btn_fixed"><span class="navicon_fixed"></span></label>
<ul id="headermenuitems-9827" class="menu_fixed">
<li id="remove-button1-9827">
<a contenteditable="plaintext-only" data-id="button1-9827" id="button1-9827" onclick="headermenu(this.id);" href="#"><i class="fa fa-fw fa-lg fa-home"></i>Home</a>
<div class="verwijderen centreren-tekst">
<button data-id="button1-9827" onclick="remove_menuitem(this)" type="button">deze wordt niet verwijderd</button>
</div>
</li>
</ul>
<div class="verwijderen">
<h1>deze wordt wel verwijderd</h1>
</div>
</header>
Onderstaande het stuk php code om het eruit te filteren. de onlick en de contenteditables worden verwijderd. daarnaast ook alle elementen die alleen de class "verwijderen". bevatten:
<?php
$inputFile = 'bestand1.html';
$html = file_get_contents($inputFile);
$outputFile ="index.html;"
?>
<?php
libxml_use_internal_errors(true); // Negeer warnings over HTML-structuur
$dom = new DOMDocument();
$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); // voorkom automatische <html>/<body> tags
$xpath = new DOMXPath($dom);
// Vind ALLE elementen met class "verwijderen" (ook als ze andere classes hebben)
$nodes = $xpath->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' verwijderen ')]");
// Verzamel te verwijderen nodes eerst in array (anders raakt de NodeList corrupt)
$toRemove = [];
foreach ($nodes as $node) {
$toRemove[] = $node;
}
// Verwijder ze nu veilig
foreach ($toRemove as $node) {
$node->parentNode->removeChild($node);
}
// Sla resultaat op
file_put_contents($outputFile, $dom->saveHTML());
?>
[size=xsmall]Toevoeging op 20/06/2025 15:41:37:[/size]
de php oplossing heb ik van chatgpt. kwam er namelijk niet aan uit. Maar deze werkt dus niet helemaal zoals het moet