Estrai numeri da una stringa in PHP
-
Usa la funzione
preg_match_all()
per estrarre numeri da una stringa in PHP -
Usa la funzione
filter_var()
per estrarre numeri da una stringa in PHP -
Usa la funzione
preg_replace()
per estrarre numeri da una stringa in PHP
In questo articolo, introdurremo metodi per estrarre numeri da una stringa
in PHP.
- Utilizzo della funzione
preg_match_all()
- Utilizzo della funzione
filter_variable()
- Utilizzo della funzione
preg_replace()
Usa la funzione preg_match_all()
per estrarre numeri da una stringa in PHP
Possiamo usare la funzione incorporata preg_match_all()
per estrarre i numeri da una stringa
. Questa funzione ricerca globalmente un pattern specificato da una stringa
. La sintassi corretta per utilizzare questa funzione è la seguente:
preg_match_all($pattern, $inputString, $matches, $flag, $offset);
La funzione incorporata preg_match_all()
ha cinque parametri. I dettagli dei suoi parametri sono i seguenti
Parametri | Descrizione | |
---|---|---|
$pattern |
obbligatorio | È il modello che vogliamo controllare nella stringa data. |
$inputString |
obbligatorio | È la stringa per la quale vogliamo cercare il modello dato. |
$matches |
opzionale | Se viene fornito questo parametro, la funzione memorizza al suo interno il risultato del processo di corrispondenza. |
$flags |
opzionale | Questo parametro ha due opzioni: PREG_OFFSET_CAPTURE e PREG_UNMATCHED_AS_NULL . Puoi leggere la sua descrizione qui. |
$offset |
opzionale | Indica la funzione di dove avviare il processo di corrispondenza. Di solito, la ricerca inizia dall’inizio. |
Questa funzione restituisce una variabile booleana
. Restituisce vero se il modello dato esiste.
Il programma sotto mostra come possiamo usare la funzione preg_match_all()
per estrarre numeri da una data stringa
.
<?php
$string = 'Sarah has 4 dolls and 6 bunnies.';
preg_match_all('!\d+!', $string, $matches);
print_r($matches);
?>
Abbiamo usato !\d+!
pattern per estrarre i numeri dalla stringa
.
Produzione:
Array
(
[0] => Array
(
[0] => 4
[1] => 6
)
)
Usa la funzione filter_var()
per estrarre numeri da una stringa in PHP
Possiamo anche usare la funzione filter_var()
per estrarre numeri da una stringa
. La sintassi corretta per utilizzare questa funzione è la seguente:
filter_var($variableName, $filterName, $options)
La funzione filter_var()
accetta tre parametri. Il dettaglio dei suoi parametri è il seguente
Parametri | Descrizione | |
---|---|---|
$variableName |
obbligatorio | È la variabile da filtrare. |
$filterName |
obbligatorio | È il nome del filtro che verrà applicato alla variabile. Per impostazione predefinita, è FILTER_DEFAULT |
$options |
obbligatorio | Questo parametro indica le opzioni da utilizzare. |
Abbiamo utilizzato il filtro FILTER_SANITIZE_NUMBER_INT
. Il programma che estrae i numeri dalla stringa
è il seguente:
<?php
$string = 'Sarah has 4 dolls and 6 bunnies.';
$int = (int) filter_var($string, FILTER_SANITIZE_NUMBER_INT);
echo("The extracted numbers are: $int \n");
?>
Produzione:
The extracted numbers are: 46
Usa la funzione preg_replace()
per estrarre numeri da una stringa in PHP
In PHP, possiamo anche usare la funzione preg_replace()
per estrarre numeri da una stringa
. La sintassi corretta per utilizzare questa funzione è la seguente:
preg_replace($regexPattern, $replacementVar, $original, $limit, $count)
La funzione preg_replace()
accetta cinque parametri. Il dettaglio dei suoi parametri è il seguente
Parametri | Descrizione | |
---|---|---|
$regexPattern |
obbligatorio | È il modello che cercheremo nella stringa o nell’array originale. |
$replacementVar |
obbligatorio | È la stringa o l’array che usiamo in sostituzione del valore cercato. |
$original |
obbligatorio | È la stringa o un array da cui vogliamo trovare il valore e sostituirlo. |
$limit |
opzionale | Questo parametro limita il numero di sostituzioni. |
$count |
opzionale | Questo parametro indica il numero di sostituzioni totali effettuate sulla nostra stringa o array originale. |
Useremo il modello /[^0-9]/
per trovare i numeri nella stringa
. Il programma che estrae i numeri dalla stringa
è il seguente:
<?php
$string = 'Sarah has 4 dolls and 6 bunnies.';
$outputString = preg_replace('/[^0-9]/', '', $string);
echo("The extracted numbers are: $outputString \n");
?>
Produzione:
The extracted numbers are: 46