Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как достать числа из строки

Короткий ответ

preg_match_all() находит все группы цифр:

<?php
 
preg_match_all('/\d+/', 'Order 15, items 3, total 4200', $matches);
 
echo implode(', ', $matches[0]);

Результат:

15, 3, 4200

Оставить только цифры

Удалите всё, что не цифра, — так очищают телефонные номера:

<?php
 
echo preg_replace('/\D/', '', '+7 (900) 123-45-67');

Результат:

79001234567

Дробные числа

Шаблон с необязательной дробной частью:

<?php
 
preg_match_all('/\d+(?:\.\d+)?/', 'Width 12.5, height 7', $matches);
 
echo implode(', ', $matches[0]);

Результат:

12.5, 7

Функции из этого ответа

  • preg_match_all — Находит все совпадения с регулярным выражением.
  • preg_replace — Заменяет всё, что подошло под регулярное выражение.
  • intval — Преобразует значение в целое число.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.