Manuale PHP
Indietro |  | Avanti

# preg_split

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

preg_split -- Suddivisione 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.

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().

Indietro | Partenza | Avanti
preg_replace | Risali | PDF functions