PHP - удалить все нечисловые символы из строки
Какой лучший способ для меня это сделать? Должен ли я использовать регулярное выражение или есть другая встроенная функция PHP, которую я могу использовать?
Например, я бы хотел: 12 months
становиться 12
, Every 6 months
становиться 6
, 1M
становиться 1
, так далее.
Спасибо
2 ответа
Вы можете использовать preg_replace в этом случае;
$res = preg_replace("/[^0-9]/", "", "Every 6 Months" );
$ res возвращает 6 в этом случае.
Если вы хотите также включить десятичный разделитель или разделитель тысяч, проверьте этот пример:
$res = preg_replace("/[^0-9.]/", "", "$ 123.099");
$ res в этом случае возвращает "123.099"
Включите точку в качестве десятичного разделителя или разделителя тысяч: "/[^0-9.]/"
Включить запятую в качестве десятичного разделителя или разделителя тысяч: "/[^0-9,]/"
Включите точку и запятую в качестве десятичного разделителя и разделителя тысяч: "/[^0-9,.]/"
Использование \D
для сопоставления нецифровых символов.
preg_replace('~\D~', '', $str);