(PHP 4, PHP 5)
preg_split — Didive una cadena mediante una expresión regular
Divide la cadena dada mediante una expresión regular.
El patrón de búsqueda, como cadena.
La cadena de entrada.
Si se especifica, entonces sólo las sub-cadenas hasta limit son devueltas, con el resto de la cadena siendo colocada en la última sub-cadena. Si limit vale -1, 0 o null significa "sin límite" y, como es un estándar en PHP, puede usar null para saltar hacia el parámetro flags.
flags puede ser una combinación de las siguientes banderas (combinadas con el operador | a nivel de bits):
Si se aplica esta bandera, por cada coincidencia producida, el índice de la cadena añadida también será devuelto. Observe que esto cambia el valor devuelto dentro de una matriz donde cada elemento es una matriz consistente en la cadena coincidente en el índice 0 y su índice de cadena dentro de subject en el índice 1.
Devuelve una matriz que contiene sub-cadenas de subject dividido por los límites coincidentes de pattern.
Versión | Descripción |
---|---|
4.3.0 | Se añadió PREG_SPLIT_OFFSET_CAPTURE |
4.0.5 | Se añadió PREG_SPLIT_DELIM_CAPTURE |
Example #1 Ejemplo de preg_split() : Obtiene las partes de una cadena de búsqueda
<?php
// divide la frase mediante cualquier número de comas o caracteres espacio,
// lo que incluye " ", \r, \t, \n y \f
$claves = preg_split("/[\s,]+/", "lenguaje de programación, hipertexto");
?>
Example #2 Dividir una cadena en sus caracteres constituyentes
<?php
$cadena = 'cadena';
$caracteres = preg_split('//', $cadena, -1, PREG_SPLIT_NO_EMPTY);
print_r($caracteres);
?>
Example #3 Dividir una cadena mediante coincidencias y sus índices
<?php
$cadena = 'lenguaje de programación hipertexto';
$caracteres = preg_split('/ /', $cadena, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($caracteres);
?>
El resultado del ejemplo sería:
Array ( [0] => Array ( [0] => lenguaje [1] => 0 ) [1] => Array ( [0] => de [1] => 9 ) [2] => Array ( [0] => programación [1] => 12 ) [3] => Array ( [0] => hipertexto [1] => 25 ) )
Si no necesita la potencia de expresiones regulares, puede optar por alternativas más rápidas (no obstante más sencillas) como explode() o str_split().