preg_replace
POSIX Regex
PCRE Functions
PHP Manual

# preg_split

(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` ]] )

Separa la cadena dada mediante una expresión regular.

### Lista de parámetros

`patron`

  El patrón a buscar, como una cadena.

`asunto`

  La cadena de entrada.

`limite`

  Si se especifica, 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`

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

### Valores retornados

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

### Registro de cambios

Versión | Descripción
--- | ---
4.3.0 | Se agregó `PREG_SPLIT_OFFSET_CAPTURE`
4.0.5 | Se agregó `PREG_SPLIT_DELIM_CAPTURE`
4.0.0 | El parámetro `banderas` fue agregado

### Ejemplos

Example #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, programación");
?>`

Example #2 Separar una cadena en sus caracteres

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

Example #3 Separar una cadena en coincidencias y sus desplazamientos

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

El resultado del ejemplo seria:

    Array
    (
        [0] => Array
            (
                [0] => programación
                [1] => 0
            )

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

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

    )

### Notes

Tip

Si no necesita el poder de las expresiones regulares, es posible usar alternativas más rápidas (aunque más simples) como explode() o str_split().

### Ver también

- spliti() - Separar una cadena en una matriz mediante una expresión regular, no sensible a mayúsculas ni minúsculas
- split() - divide la cadena en elementos de un array según una expresión regular
- implode() - Une elementos de una matriz mediante una cadena
- preg_match() - Realizar una comparación de expresión regular
- preg_match_all() - Realizar una comparación global con una expresión regular
- preg_replace() - Realizar una operación de búsqueda y reemplazo con expresiones regulares

preg_replace
POSIX Regex
PCRE Functions
PHP Manual