Почему preg_match () не возвращается для числового формата?

Я знаю, что это простой вопрос. Я не могу найти ответ. Я пытаюсь получить только номер … но он возвращает 1 … Я не уверен, что я делаю неправильно. Любая помощь

$test = preg_match("/[0-9]/","(469) 552-6500");

0

Решение

Если вы пытаетесь вернуть только цифры — вы должны использовать preg_replace по-моему. Также вам нужно / и разделители.

echo preg_replace('/[^0-9]/', '', '(469) 552-6500');

Это вернет:

4695526500
3

Другие решения

Вторя $test вернет 1 (true), если есть совпадение, и 0 (false), если нет совпадения, но вы должны использовать разделители ( / ) вокруг твоей «иглы». Лучше сохранить сопоставленный массив и проверить его по возвращенному массиву:

$test = preg_match("/[0-9]/","(469) 552-6500", $matches);
print_r($matches);

Возвращает:

Array
(
[0] => 4
)
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector