Prosta odpowiedź brzmi, że nie. Zamiast tego używasz jednego z wielu parserów HTML PHP. Regeksy są płatkowym i podatnym na błędy sposobem manipulowania HTML.
Biorąc to pod uwagę można to zrobić:
$html = preg_replace('!<div\s+id="ithis"\s+class="cthis">.*?</div>!is', '', $html);
Ale wiele rzeczy może źle się z tym. Na przykład, jeśli zawiera div:
<div id="ithis" class="cthis">Content here which <div>includes</div> other elements etc..) </div>
Skończysz z:
other elements etc..) </div>
jak regex zatrzyma się na pierwszej </div>
. I nie ma niczego, co naprawdę można zrobić, aby rozwiązać ten problem (z użyciem wyrażeń regularnych) konsekwentnie.
Sporządzono z parsera wygląda bardziej jak to:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
Czy możesz dalej się rozwijać? Czy to jest w formie ciągu? –
znasz nazwisko i/lub nazwę klasy? Czy są jakieś wyraźne identyfikatory identyfikatora i/lub klasy, aby nie usunąć wszystkich elementów div należących do tego opisu? Czy chcesz usunąć wszystkie elementy div i ich zawartość? –