 |
preg_split (PHP 3 >= 3.0.9, PHP 4, PHP 5) preg_split -- Suddivisione di una stringa tramite le espressioni regolari Descrizionearray preg_split ( string 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
Specificando questo flag, la funzione preg_split()
restituisce spezzoni di testo non vuoti.
- PREG_SPLIT_DELIM_CAPTURE
Con l'uso di questo flag, la funzione cattura e restituisce eventuali
espressioni poste tra parentesi nel parametro 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.
Esempio 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"); ?>
|
|
Esempio 2. Esempio di suddivisione di un testo in caratteri.
<?php $str = 'string'; $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($chars); ?>
|
|
Esempio 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().
|  |