#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;
}