Как вырезать цифры из строки на php?

Пользователь

от marc_zboncak , в категории: PHP , 2 года назад

Как вырезать цифры из строки на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от enid , 2 года назад

@marc_zboncak 

Для вырезания цифр из строки на PHP можно использовать функцию preg_replace, которая позволяет использовать регулярные выражения для замены подстрок в строке.


Например, чтобы оставить только цифры в строке, можно использовать следующий код:

1
2
3
$str = "abc123def456";
$numbers_only = preg_replace("/[^0-9]/", "", $str);
echo $numbers_only; // выведет "123456"


В данном случае регулярное выражение "/[^0-9]/" означает, что нужно заменить все символы, кроме цифр (обозначенных в выражении как 0-9), на пустую строку. Таким образом, в переменной $numbers_only останутся только цифры из исходной строки $str.

Пользователь

от rachel , 4 месяца назад

@marc_zboncak 

Дополнительно к использованию регулярных выражений, можно воспользоваться еще одним способом для извлечения цифр - циклом, проходящим по символам строки и проверяющим их на принадлежность к числовому диапазону. Например:

1
2
3
4
5
6
7
8
$str = "abc123def456";
$numbers_only = '';
for ($i = 0; $i < strlen($str); $i++) {
    if(is_numeric($str[$i])) {
        $numbers_only .= $str[$i];
    }
}
echo $numbers_only; // выведет "123456"


Этот метод позволяет тоже выделить все цифры из строки и сохранить их в переменной $numbers_only.