PHP DOM RemoveChild не работает

У меня есть следующий код:

<?php
$li = ('www.somesite.com');
$ht = file_get_contents($li);
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($ht);
$divs = $dom->getElementsByTagName('section');
foreach ($divs as $div){
if(preg_match('/\btresc\b/', $div->getAttribute('id'))) {$chapter = $div->getElementsByTagName('div1')->item(0);

$oldchapter = $div->removeChild($chapter);

echo $oldchapter;
}}?>

Я пытаюсь удалить <div class="div1">.*</div> с <section id="tresc">.*</section>
Однако я получаю следующую ошибку: Неустранимая ошибка: вызов функции-члена removeChild () для необъекта.
Кто-нибудь знает, что я здесь делаю не так? Любая помощь очень ценится!

0

Решение

Не включайте кавычки в ваш preg_match (), getAttribute () просто даст вам простое значение без кавычек:

if(preg_match('/tresc/', $div->getAttribute('id'))) {

Вместо этого вы должны переключиться на простое сравнение строк, поскольку в использовании регулярных выражений нет реального значения.

if($div->getAttribute('id') == 'tresc') {
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]