(PHP 4, PHP 5)
preg_split — Separar una cadena por una expresión regular
Separa la cadena dada mediante una expresión regular.
El patrón a buscar, como una cadena.
La cadena de entrada.
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 puede ser cualquier combinación de las siguientes banderas (combinadas con el operador de bits |):
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.
Devuelve una matriz que contiene sub-cadenas de asunto , separadas sobre ciertos límites coincidentes con patron .
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 |
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 ) )
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().