Проверьте, не является ли атрибут элемента DOM пустым

#php #dom

#php #dom

Вопрос:

Я хотел бы проверить, существует ли атрибут и не является ли он пустым. Я использую PHP Simple HTML DOM Parser для изучения DOM. Я попытался заглянуть на вкладку Фильтры атрибутов.

В качестве примера я получил это:

 if ( $html->find('meta[property=og:locale]') amp;amp; IfNotEmptyCondition )
{
    foreach ($html->find('meta[property=og:locale]') as $element) {
       echo $element->content;
    }
} else {
    echo 'Votre site ne propose pas la balise <em>OG:locale</em>';
}
echo '<br>';
 

В if я не знаю, как посмотреть, не является ли атрибут og:locale пустым.

Комментарии:

1. Я, наконец, заставил это работать: if( $html->find(‘meta[property=og:locale]’) ){ foreach($html->find(‘meta[property=og:locale]’) как $element){ if (($element->content) !==») { echo $element->content; } else{ echo ‘Проголосуйте за сайт, не предлагайте использовать og:locale’; } } } else{}

2. Также очень хорошо, что вы сами отвечаете на свой вопрос. Это даже лучше, чем помещать весь этот код в небольшой комментарий 🙂

Ответ №1:

Это просто немного другой угол: вы делаете это, пропуская пустые внутри foreach с помощью continue :

 $elements = $html->find('meta[property=og:locale]');
foreach ($elements as $element) 
{
    if ($element->content === '') {
        continue;
    }
    echo $element->content;
}