(PHP 4, PHP 5)
split — Divide una cadena en una matriz mediante una expresión regular
$pattern
, string $string
[, int $limit
= -1
] )
Divide un string
en una matriz mediante una expresión regular.
Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
pattern
Expresión regular sensible a mayúsculas-minúsculas.
Si quiere dividir cualesquiera caracteres que están considerados especiales por las expresiones regulares, necesitará escaparlos primero. Si piensa que split() (o, de hecho, cualquier otra función de expresión regular) está haciendo algo extraño, por favor, lea el archivo regex.7, incluido en el subdirectorio regex/ de la distribución de PHP. Estas páginas de ayuda están en formato "man", por lo que será necesaria una orden como man /usr/local/src/regex/regex.7 para poder leerlo.
string
La cadena de entrada.
limit
Si se establece limit
, la matriz devuelta
contendrá un máximo de limit
elementos con el
último elemento conteniendo el resto completo de
string
.
Devuelve una matriz de cadenas, siendo cada una de ellas una sub-cadena de
string
formada al dividir éste con los límites establecidos
mediante la expresión regular sensible a mayúsculas-minúsculas pattern
.
Si hay n incidencias de
pattern
, la matriz devuelta contentrá
n+1 elementos. Por ejemplo, si
no hay incidencias de pattern
, será devuelta
una matriz con sólo un elemento. Por supuesto, esto también es verdadero si
string
está vacío. Si se produce un error,
split() devuelve FALSE
.
Ejemplo #1 Ejemplo de split()
Para obtener los cinco primeros campos de una línea de /etc/passwd:
<?php
list($usuario, $contraseña, $uid, $gid, $extra) =
split(":", $línea_passwd, 5);
?>
Ejemplo #2 Ejemplo de split()
Para analizar una fecha que puede estar delimitada por barras, puntos o guiones:
<?php
// Los delimitadores pueden ser barra, punto o guión
$fecha = "04/30/1973";
list($mes, $día, $año) = split('[/.-]', $fecha);
echo "Mes: $mes; Día: $día; Año: $año<br />\n";
?>
Nota:
Desde PHP 5.3.0, la extensión regex queda obsoleta y en su lugar se utiliza extensión PCRE. Si se llama a esta función creará un aviso
E_DEPRECATED
. Ver El listado de diferencias para obtener ayuda a convertir a PCRE.
split() está obsoleta a partir de PHP 5.3.0. preg_split() es la alternativa sugerida a esta función. Si no necesita la potencia de expresiones regulares, es más rápido usar explode(), que no provoca el overhead del motor de expresiones regulares.
Para usuarios que buscan un manera de emular el comportamiento de Perl @chars = split('', $str), por favor, vea los ejemplos de preg_split() o str_split().