Función preg_split
La función preg_split divide una cadena en elementos de un array, utilizando una expresión regular para buscar los delimitadores. El primer parámetro acepta la expresión regular, el segundo - la cadena original. El tercer parámetro opcional establece la cantidad de elementos del array en el resultado final. El cuarto parámetro opcional establece
banderas que modifican el comportamiento de la función.
Sintaxis
preg_split(pattern, subject, [limit], [flags]);
Banderas
| Bandera | Constante | Descripción |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Devuelve solo las partes no vacías después de la división. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Captura y devuelve las partes que coinciden con los subpatrones en la expresión regular. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | Para cada parte devuelta, añade su posición en la cadena original. |
Ejemplo
Dividamos una cadena por comas:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Resultado de ejecutar el código:
['a', 'b', 'c', 'd', 'e']
Ejemplo
Dividamos una cadena por cualquier carácter de espacio en blanco con límite en la cantidad de elementos:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Resultado de ejecutar el código:
['1', '2', '3 4 5']
Ejemplo
Uso de la bandera PREG_SPLIT_NO_EMPTY para excluir elementos vacíos:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Resultado de ejecutar el código:
['a', 'b', 'c', 'd']
Ver también
-
la función
preg_match,
que realiza una búsqueda por expresión regular -
la función
explode,
que divide una cadena por un delimitador simple