In PHP, puoi estrarre numeri da una stringa utilizzando le espressioni regolari e la funzione preg_match_all(). Ecco un esempio di come estrarre tutti i numeri da una stringa:
$my_string = "There are 15 Oranges and 3 Bananas.";
preg_match_all('/[0-9]+/', $my_string , $matches);
print_r($matches[0]);
Questo produrrà:
Array ( [0] => 15 [1] => 3 )
Spiegazione:
/[0-9]+/ cerca una o più cifre consecutive.preg_match_all() cerca nella stringa tutte le occorrenze dell'espressione regolare e memorizza le corrispondenze nell'array $matches.print_r() viene utilizzata per visualizzare il contenuto dell'array.Puoi anche utilizzare la funzione preg_replace() per rimuovere caratteri non numerici da una stringa e mantenere solo i numeri:
$string = "There are 15 Oranges and 3 Bananas.";
$numbers = preg_replace('/D/', '', $string);
echo $numbers;
Questo produrrà:
15 3
Spiegazione:
/D/ corrisponde a qualsiasi carattere non numerico.preg_replace() sostituisce tutti i caratteri non numerici con una stringa vuota, rimuovendoli di fatto dalla stringa.Esiste un altro modo, tuttavia non è così affidabile come le due opzioni precedenti. Possiamo usare la funzione incorporata PHP filter_var() per estrarre int dalla stringa.
$string = "There are 15 Oranges and 3 Bananas.";
// extract numbers from string
$my_int = (int)filter_var($string ,FILTER_SANITIZE_NUMBER_INT);
echo $my_int;
Questo produrrà:
153