preg_split
(PHP 4, PHP 5)
preg_split — Suddivisione di una stringa tramite le espressioni regolari
Descrizione
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.
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().