(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().