PHP Regular Expression to remove all characters other than digits and periods

php, regex

Solution

Try this:

$clean = preg_replace('/[^\\d.]+/', '', $str);

But you could also use `[^0-9.]` if you’re more familiar with that. Note that the `.` doesn’t need to be escaped inside the character class declaration as it’s not a special character inside there (only `]`, `\` and depending on the context also `^` and `-`).

Problem

I'm trying to use `preg_replace` to remove all characters from a string except for numeric and period characters. I can remove everything but numbers, however how can I make an exception for the '.' period character. Can anyone help me out?

Original source