(PHP 4, PHP 5)
preg_split — Divide un string mediante una expresión regular
$pattern
   , string $subject
   [, int $limit = -1
   [, int $flags = 0
  ]] )Divide el string dado mediante una expresión regular.
patternEl patrón de búsqueda, dado como string.
subjectEl string de entrada.
limit
       Si se especifica, son devueltos sólo los substrings hasta
       limit, con el resto del string colocado en el último
       substring. Si limit vale -1, 0 o NULL, significa "sin límite"
       y, como es un estándar en PHP, se puede usar NULL para saltar hacia el
       parámetro flags.
      
flags
       flags puede ser una combinación de las siguientes
       banderas (combinadas con el operador | a nivel de bits):
       
PREG_SPLIT_NO_EMPTYPREG_SPLIT_DELIM_CAPTUREPREG_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.
  
| Versión | Descripción | 
|---|---|
| 4.3.0 | Se añadió PREG_SPLIT_OFFSET_CAPTURE | 
| 4.0.5 | Se añadió PREG_SPLIT_DELIM_CAPTURE | 
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.