What is the best way for me to do this? Should I use regex or is there another in-built PHP function I can use?
For example, I'd want: 12 months
to become 12
. Every 6 months
to become 6
, 1M
to become 1
, etc.
What is the best way for me to do this? Should I use regex or is there another in-built PHP function I can use?
For example, I'd want: 12 months
to become 12
. Every 6 months
to become 6
, 1M
to become 1
, etc.
You can use preg_replace in this case;
$res = preg_replace("/[^0-9]/", "", "Every 6 Months" );
$res return 6 in this case.
If want also to include decimal separator or thousand separator check this example:
$res = preg_replace("/[^0-9.]/", "", "$ 123.099");
$res returns "123.099" in this case
Include period as decimal separator or thousand separator: "/[^0-9.]/"
Include coma as decimal separator or thousand separator: "/[^0-9,]/"
Include period and coma as decimal separator and thousand separator: "/[^0-9,.]/"
Use \D
to match non-digit characters.
preg_replace('~\D~', '', $str);