Невозможно найти элемент img с помощью PHP DomDocumentPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно найти элемент img с помощью PHP DomDocument

Сообщение Anonymous »

Я обнаружил странную проблему.
Я анализирую содержимое публикации WordPress через PHP DOMDocument и печатаю только элемент img, как показано ниже:
function myfun($post_id)
{
// Get the post conent
$post = get_post($post_id);
$body = $post->post_content;

// Parse the post content with as UTF-8
// Ref: https://www.php.net/manual/en/intro.dom.php
$doc = new \DOMDocument();
$doc->loadHtml("".$body."");

// Enumerate the DOM tree
$doc_root = $doc->documentElement;

enum_dom($doc_root->childNodes, 0);
}

function enum_dom($nodes, $level)
{
foreach ($nodes AS $item)
{
if (($item->nodeType == XML_ELEMENT_NODE) && ($item->nodeName == 'img'))
{
print $item->nodeName . PHP_EOL;

if($item->childNodes || $item->childNodes->lenth > 0)
{
enum_dom($item->childNodes, $level+5);
}
}
}
}


Но в этом случае код НЕ будет выводить какие-либо элементы img. Однако, если я удалю ($item->nodeName == 'img'), то все элементы будут распечатаны, ВКЛЮЧИТЕ элемент img.
Поскольку img в DOM, почему я не могу отфильтровать его с условием ($item->nodeName == 'img')
Ниже приведен контент сообщения WordPress, который я использую для теста:

Изображение


Подробнее здесь: https://stackoverflow.com/questions/783 ... omdocument
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»