preg_split

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

preg_split -- Separar una cadena por una expresión regular

Descripción

array preg_split ( string patron, string asunto [, int limite [, int banderas]] )

Devuelve una matriz que contiene sub-cadenas de asunto, separadas sobre ciertos límites coincidentes con patron.

Si se especifica limite, entonces sólo se devuelve una cantidad de hasta limite sub-cadenas, y si limite es -1, quiere decir "sin límite", lo cual es útil cuando se quiere pasar un valor al parámetro banderas.

banderas puede ser cualquier combinación de las siguientes banderas (combinadas con el operador de bits |):

PREG_SPLIT_NO_EMPTY

Si esta bandera es definida, preg_split() sólo devolverá segmentos no-vacíos.

PREG_SPLIT_DELIM_CAPTURE

Si se define esta bandera, las expresiones entre paréntesis en el patrón de delimitación serán capturadas y devueltas también. Esta bandera fue agregada en 4.0.5.

PREG_SPLIT_OFFSET_CAPTURE

Si se define esta bandera, para cada coincidencia encontrada, se devolverá también la posición de la cadena anexa. Note que esto modifica el valor de retorno a una matriz en donde cada elemento es una matriz consistente de la cadena coincidente en la posición 0 y su desplazamiento de cadena al interior de asunto en la posición 1. Esta bandera está disponible desde PHP 4.3.0.

Ejemplo 1. Ejemplo de preg_split(): Obtener las partes de una cadena de búsqueda

<?php
// separar la frase por cualquier numero de comas o caracteres de espacio,
// incluyendo " ", \r, \t, \n y \f
$palabras_clave = preg_split("/[\s,]+/", "lenguaje hipertexto, programacion");
?>

Ejemplo 2. Separar una cadena en sus caracteres

<?php
$cadena
= 'cadena';
$caracteres = preg_split('//', $cadena, -1, PREG_SPLIT_NO_EMPTY);
print_r($caracteres);
?>

Ejemplo 3. Separar una cadena en coincidencias y sus desplazamientos

<?php
$cadena
= 'programacion lenguaje hipertexto';
$caracteres = preg_split('/ /', $cadena, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($caracteres);
?>

producirá:

Array
(
    [0] => Array
        (
            [0] => programacion
            [1] => 0
        )

    [1] => Array
        (
            [0] => lenguaje
            [1] => 13
        )

    [2] => Array
        (
            [0] => hipertexto
            [1] => 22
        )

)

Nota: El parámetro banderas fue agregado en PHP 4 Beta 3.

Vea también spliti(), split(), implode(), preg_match(), preg_match_all(), y preg_replace().

Hosting by: hurra.com
Generated: 2007-01-26 18:01:05