пытаюсь спарсить с сайтов партнеров информацию о том, в наличии ли у них товар или нет. Собственно вот код
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://xn----7sblaeg7cgj4a.com.ua/snyato-s-prodazh-za-mart-2017/3339-palto-frak.html');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36');
$out = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (preg_match("/продан/ui", $out)) {
var_dump('yes');
}else{
var_dump('no');
}
но получаю ответом
/var/www/html/curl/index.php:28:string 'no' (length=2)
хотя на сайте сеть следующие строки
<meta name="description" content="ПРОДАНО" />
...
<div id="short_description_content" class="rte align_justify"><p style="text-align: center;"><span style="font-size: 14pt;"><strong>ПРОДАНО</strong></span></p></div>
причем var_dump($out);
выдает страницу полностью
Для поиска конкретного слова рекомендую использовать следующую конструкцию:
if (mb_stristr($out, 'продан')) {
var_dump('yes');
} else {
var_dump('no');
}
Эта функция ищет подстроку "продан" в мультибайтовой кодировке без учёта регистра и работает быстрее, чем поиск по регулярному выражению.
Если вам нужен поиск с учётом регистра, используйте функцию mb_strstr($out, 'продан')
Если вам нужно использовать именно регулярные выражения, то уберите модификатор u
, так как он разбивает строку в юникод и, как результат, не находит указанного слова.
Таким образом, проверка условия должна выглядеть следующим образом:
if (preg_match('/продан/i', $out)) {
var_dump('yes');
} else {
var_dump('no');
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Работаю над проектом с 2-х машинНа одной, при запуске сайта на локальном сервере по ссылке http://root/ открывается рабочий проект