I have a string in PHP where I want to extract only integer and decimal numbers, this is an example:
<?php
$string = 'María vive en un pueblo de 25 957 habitantes y cobra 1859 euros al mes. OJO: no sé si os habéis fijado, pero los números del último ejemplo
no llevan un punto o una coma separando los millares (25.957 o 1.859). Sé que resulta extraño, pero la nueva normativa de la R.A.E.
dice que los números de cuatro cifras NO llevarán separación (1859) y los números de cinco cifras o más NO llevarán ni puntos ni comas,
sino una separación (25 957 o 1 343 392). El 94% de los niños ha traído los deberes hechos. He pagado $50,95 dólares.';
?>
In this case I try to get numbers using this line:
$numbers = preg_replace('/[^0-9\.,]/', ' ', $string);
But the problem is the result is:
25 957 1859 . , 25.957 1.859 . , . . . 1859 , 25 957 1 343 392 . 94 . 50,95 .
And I want to get this result:
25 957 1859 25.957 1.859 1859 25 957 1 343 392 94 50,95
How can I fix it?
I'd like your help.