preg_match, который возвращает содержимое соответствия регулярному выражению, а не значение true или false - PullRequest
0 голосов
/ 07 мая 2019

Мне нужна функция, подобная preg_match, но которая возвращает содержимое соответствия регулярному выражению, а не истинное или ложное значение

$warehouse = preg_match( '/^[0-9]+/', $warehouse );

Это вернет true или false, но я хочу эквивалентную функцию, которая бы возвращала содержимое соответствия регулярному выражению.

Так в случае $warehouse = 10+ at supplier, тогда function( '/^[0-9]+/', $warehouse ); вернется 10.

1 Ответ

2 голосов
/ 07 мая 2019

Если вы прочитаете руководство , вы увидите, что preg_match может принять третий параметр, $matches, в который помещаются соответствующие строки.Если в вашем регулярном выражении нет групп, вся совпадающая строка будет в $matches[0].Например:

$warehouse = '354-Sydney';
if (preg_match('/^[0-9]+/', $warehouse, $matches)) {
     echo $matches[0];
}

Вывод:

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