Простой ответ заключается в том, что вы этого не делаете. Вместо этого вы используете один из PHP-парсеров PHP. Regexes - уязвимый и подверженный ошибкам способ манипулирования HTML.
Это сказанное вы можете сделать это:
$html = preg_replace('!<div\s+id="ithis"\s+class="cthis">.*?</div>!is', '', $html);
Но многих вещей могут неправильно с этим. Например, если содержит DIV:
<div id="ithis" class="cthis">Content here which <div>includes</div> other elements etc..) </div>
вы в конечном итоге с:
other elements etc..) </div>
как регулярное выражение остановится на первом </div>
. И нет, вы ничего не можете сделать, чтобы решить эту проблему (с регулярными выражениями) последовательно.
Done с анализатором это выглядит примерно так:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
Можете ли вы уточнить? Это в виде строки? –
Знаете ли вы имя и/или имя класса? Или есть ли какие-либо отдельные идентификаторы id и/или класса, чтобы вы не удаляли все div, попадающие в это описание? Или вы хотите удалить все div и их содержимое? –