Как достать числа из строки
Короткий ответ
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 — Преобразует значение в целое число.