array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.preg-split.php', 1 => 'preg_split', ), 'up' => array ( 0 => 'ref.pcre.php', 1 => 'Funciones de PCRE', ), 'prev' => array ( 0 => 'function.preg-replace.php', 1 => 'preg_replace', ), 'next' => array ( 0 => 'book.ssdeep.php', 1 => 'ssdeep', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/pcre/functions/preg-split.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
preg_split — Divide un string mediante una expresión regular
Divide el string dado mediante una expresión regular.
pattern
El patrón de búsqueda, dado como string.
subject
El string de entrada.
limit
Si se especifica, son devueltos únicamente los substrings hasta
limit
, con el resto del string colocado en el último
substring. Si limit
vale -1 o 0 significa "sin límite".
flags
flags
puede ser una combinación de las siguientes
banderas (combinadas con el operador |
de bits):
PREG_SPLIT_NO_EMPTY
PREG_SPLIT_DELIM_CAPTURE
PREG_SPLIT_OFFSET_CAPTURE
Si se aplica esta bandera, por cada coincidencia producida, el índice del string añadido
también será devuelto. Observe que esto cambia el valor devuelto
dentro de un array donde cada elemento es un array consistente en
el string coincidente en el índice 0
y su índice de string
dentro de subject
en el índice 1
.
Devuelve un array que contiene substrings de subject
dividido por los límites coincidentes de pattern
, o false
en caso de error.
If the regex pattern passed does not compile to a valid regex, an E_WARNING
is emitted.
Ejemplo #1 Ejemplo de preg_split() : Obtener las partes de un string de búsqueda
<?php
// divide la frase mediante cualquier número de comas o caracteres de espacio,
// lo que incluye " ", \r, \t, \n y \f
$claves = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($claves);
?>
El resultado del ejemplo sería:
Array ( [0] => hypertext [1] => language [2] => programming )
Ejemplo #2 Dividir un string en sus caracteres constituyentes
<?php
$str = 'string';
$caracteres = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($caracteres);
?>
El resultado del ejemplo sería:
Array ( [0] => s [1] => t [2] => r [3] => i [4] => n [5] => g )
Ejemplo #3 Dividir un string mediante coincidencias y sus índices
<?php
$str = 'hypertext language programming';
$caracteres = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($caracteres);
?>
El resultado del ejemplo sería:
Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )
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().
Si la comparación falla, será devuelto un array con un único elemento que contiene el string de entrada.