(PHP 4, PHP 5)
split — Suddivide una stringa in una matrice utilizzando le espressioni regolari
$espressione_regolare
, string $stringa
[, int $limite
] )Poiché utilizza espressioni regolari con sintassi compatibile con Perl, preg_split(), è spesso una alternativa più veloce a split(). Se non si ha necessità delle capacità delle espressioni regolari, è più veloce l'utilizzo di explode(), che non richiede l'overhead del motore delle espressioni regolari.
La funzione restituisce una matrice di stringhe che sono delle
sottostringhe del parametro stringa. Queste
sono ottenute suddividendo il parametro secondo i limiti indicati
dal parametro sensibile alle maiuscole espressione_regolare. Se viene
specificato il parametro limite, la funzione
restituisce una matrice con un numero di elementi al massimo pari
a limite. L'ultimo elemento della matrice contiene
la parte restante del parametro stringa fornito.
Se si verificano errori la funzione split()
restituisce FALSE.
Esempio di come estrapolare i primi 4 campi da una linea del file /etc/passwd:
Example #1 Esempio di split()
<?php
list($user, $pass, $uid, $gid, $extra) = split(":", $passwd_line, 5);
?>
Se nella stringa passata vi sono n occorrenze
del parametro espressione_regolare, la matrice restituita
conterrà n+1 elementi.
Invece, nel caso in cui non vi siano occorrenze della
espressione_regolare, la matrice restituita conterrà
un solo elemento. Ovviamente questo è valido anche nel caso in cui il
parametro stringa è vuoto.
Nell'esempio che segue, si vedrà come analizzare una data il cui testo può contenere barre, punti o trattini:
Example #2 split() esempio
// Delimitatori di testo: barre, punti, trattini
$data = "04/30/1973";
list ($mese, $giorno, $anno) = split ('[/.-]', $data);
echo "Mese: $mese; Giorno: $giorno; Anno: $anno<br>\n";
?>
Gli utenti che cercano un modo di emulare il comportamento di Perl @chars = split('', $str), sono rimandati agli esempi di preg_split().
Occorre fare attenzione al fatto che il parametro
espressione_regolare è una espressione regolare e,
pertanto, se si devono riconoscere caratteri che sono considerati
speciali per le espressioni regolari, occorre codificarli con i
caratteri di escape. Se si ritiene che la funzione split
() ( o anche le altre funzioni derivate da regex ) si
comportino in modo anomalo, è opportuno leggere il file
regex.7, incluso nella cartella
regex/ della distribuzione di PHP. Questo file è
nel formato del manuale di unix (man), pertanto per visualizzarlo
occorre eseguire il comando man
/usr/local/src/regex/regex.7.
Vedere anche: preg_split(), spliti(), explode(), implode(), chunk_split() e wordwrap().