Простой ответ - нет. Вместо этого вы используете один из множества HTML-парсеров PHP. Регулярные выражения - это грубый и подверженный ошибкам способ манипулирования 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>
. И нет, вы ничего не можете сделать, чтобы последовательно решить эту проблему (с помощью регулярных выражений).
С парсером это выглядит примерно так:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();