Die einfache Antwort ist, dass Sie nicht. Sie verwenden stattdessen einen der vielen HTML-Parser von PHP. Regexes sind ein flockiger und fehleranfälliger Weg HTML zu manipulieren.
Dass gesagt wird Sie können dies tun:
$html = preg_replace('!<div\s+id="ithis"\s+class="cthis">.*?</div>!is', '', $html);
Aber viele Dinge können falsch mit diesem. Zum Beispiel, wenn das enthält ein div:
<div id="ithis" class="cthis">Content here which <div>includes</div> other elements etc..) </div>
Sie am Ende folgendes haben:
other elements etc..) </div>
als regex beim ersten </div>
stoppt. Und nein, es gibt nichts, was Sie tun können, um dieses Problem (mit regulären Ausdrücken) konsequent zu lösen.
mit einem Parser Fertig es wie folgt aussieht:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
Können Sie weiter ausführen? Ist das in Form einer Schnur? –
Kennen Sie den ID-Namen und/oder Klassennamen? Oder gibt es eindeutige IDs der ID und/oder Klasse, so dass Sie nicht alle Divs entfernen, die in diese Beschreibung fallen? Oder möchtest du alle Divs und deren Inhalt entfernen? –