Есть браузерный тест.
В нём я беру строку из HTML-элемента и паршу её:
preg_match_all('=\d+$=', $subject, $matches);
Пример строки:
Please use this verification code to complete your sign in: 123456
Потом хочу взять весь шаблон: $matches[0][0]
; но выдаёт следующее:
ErrorException: Undefined offset: 0
Пробую положить в лог: Log::info($matches);
В логе:
array (
0 =>
array (
0 => '123456',
),
)
Есть идеи?
P. S. Так: array_shift($matches[0]);
; работает.
Прошу прощения за то, что некромант, но вопрос открыт - хотелось бы расставить точки.
Дело в том, что иногда массив $matches бывает пуст, поэтому перед вызовом элементов массива необходимо делать проверку:
$subjects = [
'эта строка будет иметь совпадения: 123456',
'а эта даст ошибку!'
];
foreach ($subjects as $subject) {
preg_match_all('=\d+$=', $subject, $matches);
if (!empty($matches[0]) && !empty($matches[0][0])) {
var_dump($matches[0][0]);
} else {
echo'no matches' . PHP_EOL;
}
}
вывод:
vagrant@homestead:~/projects/examples$ php aaa.php
/home/vagrant/projects/examples/aaa.php:39:
string(6) "123456"
no matches
vagrant@homestead:~/projects/examples$
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть сайт с торговой площадкой, мне нужно его пропарсить средствами php (есть ли какие то библиотеки)
Есть форма с select которую надо перевести в radio buttonПри выборе одного из значений появляется поле для заполнения данными для этого поля
Есть много одинаковых табличек, по типу table_2019, table_2018, поля в них идентичныМожно ли как то настроить доктрину для работы с такими табличками,...