Funzione preg_split
La funzione preg_split divide una stringa in elementi di array, utilizzando un'espressione regolare per cercare i delimitatori. Il primo parametro accetta l'espressione regolare, il secondo la stringa originale. Il terzo parametro opzionale imposta il numero di elementi dell'array nel risultato finale. Il quarto parametro opzionale imposta i
flag, che modificano il comportamento della funzione.
Sintassi
preg_split(pattern, subject, [limit], [flags]);
Flag
| Flag | Costante | Descrizione |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Restituisce solo le parti non vuote dopo la divisione. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Cattura e restituisce le parti della corrispondenza con i sotto-modelli nell'espressione regolare. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | Per ogni parte restituita, aggiunge la sua posizione nella stringa originale. |
Esempio
Dividiamo una stringa per virgole:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd', 'e']
Esempio
Dividiamo una stringa per qualsiasi carattere di spaziatura con una limitazione del numero di elementi:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['1', '2', '3 4 5']
Esempio
Utilizzo del flag PREG_SPLIT_NO_EMPTY per escludere elementi vuoti:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['a', 'b', 'c', 'd']
Vedi anche
-
la funzione
preg_match,
che esegue una ricerca tramite espressione regolare -
la funzione
explode,
che divide una stringa per un semplice delimitatore