Gennaio 7, 2023

preg_match() in PHP

La funzione preg_match() è una funzione del PHP che esegue una ricerca di una regular expression su una stringa. Se la regular expression viene trovata, la funzione restituisce 1, altrimenti restituisce 0. La sintassi della funzione è la seguente:

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
  • $pattern è la regular expression da cercare.
  • $subject è la stringa su cui eseguire la ricerca.
  • $matches (opzionale) è un array che conterrà i risultati della ricerca.
  • $flags (opzionale) è una serie di flag che possono modificare il comportamento della funzione.
  • $offset (opzionale) è l’offset della stringa su cui iniziare la ricerca.

Ecco tre esempi di utilizzo della funzione preg_match():

Verificare se una stringa inizia con una determinata parola:

$string = "Hello world!";
$pattern = '/^Hello/';

if (preg_match($pattern, $string)) {
    echo "La stringa inizia con Hello";
} else {
    echo "La stringa non inizia con Hello";
}

Verificare se una stringa contiene un indirizzo email valido:

$string = "Il mio indirizzo email è example@example.com";
$pattern = '/^\S+@\S+\.\S+$/';

if (preg_match($pattern, $string)) {
    echo "La stringa contiene un indirizzo email valido";
} else {
    echo "La stringa non contiene un indirizzo email valido";
}

Estrarre tutti i numeri da una stringa:

$string = "La mia età è 30 e il mio numero di telefono è 555-123-4567";
$pattern = '/\d+/';

preg_match_all($pattern, $string, $matches);
print_r($matches);

Il codice precedente stamperà il seguente output:

Array
(
    [0] => Array
        (
            [0] => 30
            [1] => 555
            [2] => 123
            [3] => 4567
        )
)