La semplice risposta è che non è così. Invece, usi uno dei molti parser HTML di PHP. I regex sono un modo traballante e incline agli errori di manipolare l'HTML.
Detto questo si può fare questo:
$html = preg_replace('!<div\s+id="ithis"\s+class="cthis">.*?</div>!is', '', $html);
Ma molte cose possono di sbagliato in questo. Ad esempio, se questo contiene un div:
<div id="ithis" class="cthis">Content here which <div>includes</div> other elements etc..) </div>
vi ritroverete con:
other elements etc..) </div>
come l'espressione regolare si fermerà al primo </div>
. E no, non c'è niente che puoi veramente fare per risolvere questo problema (con espressioni regolari) in modo coerente.
fatto con un parser sembra più simile a questo:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
Puoi approfondire ulteriormente? È sotto forma di stringa? –
conosci il nome dell'ID e/o il nome della classe? Oppure esistono identificatori distinti dell'ID e/o della classe in modo tale da non rimuovere tutte le div che rientrano in tale descrizione? O vuoi rimuovere tutte le div e il loro contenuto? –