(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_EMPTYPREG_SPLIT_DELIM_CAPTUREespressione_regolare.
Questo flag è stato aggiunto nella versione 4.0.5.
PREG_SPLIT_OFFSET_CAPTURESe 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().