Здравствуйте. Есть переменная $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){
...
}
Выбирайте.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На сайте реализована выгрузка данных в CSVВ виде входящих данных многомерный массив
Есть форма с чекбоксами, которую передаю ее через Actions Google Scripts в гугл таблицуЕсли указываю один из нескольких вариантов, то все отрабатывает...
Добрый деньДелаю POST запрос на endpoint /wp-json/wc/v2/products/ с JSON описанием товара