PCRE Funzioni
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_splitSuddivisione di una stringa tramite le espressioni regolari

Descrizione

array 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.

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, -1PREG_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, -1PREG_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().


PCRE Funzioni
PHP Manual