Здравствуйте. Есть переменная $text в которой находится текст в виде html содержимого.
Вопрос: Как определить есть ли в нем изображение ( тег ) ?
Самое простое, что сразу приходит в голову - это написать что то вида
if (strpos($text, '<img') !== false) {
...
}
но это плохой способ. Данная подстрока может быть, но не являться тегом. Также тег может быть, но записан так '< img'.
Поэтому, самый надежный способ - это полноценно парсить. Где то так
$html = str_get_html($text);
// найдем все картинки
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// найдем все ссылки
foreach($html->find('a') as $element)
echo $element->href . '<br>';
Есть правда ещё один случай - это когда картинка генерируется javascript'ом. Тут все немного сложнее. Но если сильно-сильно нужно, то можно использовать selenium+phantomjs. Настроить конечно будет немного сложновато, но работать будет достаточно надежно.
1 Вариант:
mb_substr_count // Возвращает количество вхождений подстроки
<?php echo
mb_substr_count("Это просто проверка", "то"); // выведет на экран 2
?>
т.е. если сделать так:
$count = mb_substr_count($text, '<img'); // получим количество вхождений img
Проверку думаю сами сможете сделать, типа:
if($count == 0){
...
}
2 Вариант:
if(strpos($text,'<img') !== false){
...
}
Выбирайте.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости