Возвращает значения из preg_match_all в PHP - PullRequest
0 голосов
/ 22 апреля 2020

Я создаю функцию, которая возвращает коды UA (из Google Analytics) из источника страницы веб-сайта.

Я создал регулярное выражение: '/ [U] [A] - \ d {5,10} - \ d {0,2}] / 'для кодов UA.

Я использую preg_match_all, но, похоже, ничего не получаю, хотя я точно знаю, что У веб-сайта, который я использую, есть по крайней мере один код UA.

Это то, что я написал до сих пор:

<?php

$url = 'www.ibood.com/nl/nl/';

$options = [
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_FOLLOWLOCATION => TRUE,
    CURLOPT_MAXREDIRS => 3
];

$init = curl_init($url);
curl_setopt_array($init, $options);
$site = curl_exec($init);

preg_match_all('/[U][A]-\d{5,10}-\d{0,2}]/', $site, $matches);

print $matches[0][0];

У меня просто белый экран.

Что я мог здесь делать не так?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Вы можете попробовать это.

/[U][A]-([0-9]{5,10})-([0-9]{0,2})+/

Всегда старайтесь получить образцы фрагментов ответа, которые вы хотите проанализировать, и используйте такие инструменты, как https://regexr.com/

enter image description here

0 голосов
/ 22 апреля 2020

Используйте это RegEx /[U][A]-\d{5,10}-\d{0,2}/
У вас есть дополнительный крюк в вашем регулярном выражении:)
До: https://regex101.com/r/DDdJhA/1
После: https://regex101.com/r/UPA2iZ/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...