(PHP 4, PHP 5)
preg_split — Suddivisione di una stringa tramite le espressioni regolari
$espressione_regolare
, string $testo
[, int $limite
[, int $flags
]] )
La funzione restituisce una matrice di parti di
testo
suddivisi tramite i criteri
indicati da espressione_regolare
.
Se viene specificato il parametro limite
, la
funzione restituisce tante parti del testo iniziale quante sono indicate
da limite
. Può essere usato il valore -1 per
indicare "nessun limite". Ciò torna utile in abbinamento all'uso
del parametro flags
.
Il parametro flags
può essere la combinazione dei
seguenti flag (la combinazione di più flag avviene con l'operatore |):
PREG_SPLIT_NO_EMPTY
PREG_SPLIT_DELIM_CAPTURE
espressione_regolare
.
Questo flag è stato aggiunto nella versione 4.0.5.
PREG_SPLIT_OFFSET_CAPTURE
Se viene impostato questo flag, per ogni testo riconosciuto viene restituito l'offset della stringa. Occorre notare che questo cambia il tipo di valore restituito nell'array; infatti ogni elemento è, a sua volta, un'array composto dalla stringa riconosciuta, all'indice 0, e dall'offset della stringa nell'indice 1. Questa costante è disponibile a partire dalla versione 4.3.0 di PHP.
Example #1 Esempio di preg_split(): Come ottenere le parti di un testo.
<?php
// Suddivide la seguente frase in base alla presenza di virgole, spazi bianchi,
// e altri caratteri speciali quali \r, \t, \n ed \f
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
?>
Example #2 Esempio di suddivisione di un testo in caratteri.
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
Example #3 Suddivisione di una stringa in testi riconosciuti con i relativi offset.
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
visualizzerà
Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )
Nota:
Il parametro
flags
è stato aggiunto nella versione 4 Beta 3 di PHP.
Vedere anche spliti(), split(), implode(), preg_match(), preg_match_all() e preg_replace().