Задать вопрос

Почему не получается с preg_match?

пытаюсь с парсить с сайтов партнеров информацию о том, в наличии ли у них товар или нет. Собственно вот код

$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);выдает страницу полностью
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 1
@Nc_Soft
Зачем тут регулярка?
Достаточно будет
mb_strripos($out, 'продан', 0, 'utf-8') !== false
А так да, есть такая проблема с модификаторами i + u
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
symfony.com/doc/current/components/dom_crawler.html
лучше вот так.
Чтоб не ломать мозг.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы