Hoy vamos a ver cómo separar una cadena usando un delimitador en PHP, por ejemplo, una coma, un punto, un espacio, un salto de línea, etcétera.
A la función de separar una cadena a partir de un carácter se le llama split; pero no sé por qué en PHP se llama explode (y tampoco sé por qué en C es strtok) pero bueno.
Veamos cómo separar una cadena usando delimitadores en PHP con la función explode
, el equivalente a split
en otros lenguajes.
Separar cadena a partir de delimitadores usando PHP
Como lo dije, vamos a usar la función explode
.
Para separar la cadena usando un delimitador, la sintaxis es:
$stringSeparado = explode($separador, $cadena);
El separador puede ser cualquier carácter o cadena, por ejemplo una coma, un salto de línea, una tabulación, un guión, etcétera.
Veamos un ejemplo:
<?php
/*
Separar cadena usando delimitadores en PHP
https://parzibyte.me/blog
*/
$cadena = "Maggie,Panqué,Guayaba";
$separador = ",";
$separada = explode($separador, $cadena);
var_dump($separada);
/*
Salida:
array(3) {
[0]=>
string(6) "Maggie"
[1]=>
string(7) "Panqué"
[2]=>
string(7) "Guayaba"
}
*/
Como puedes ver, explode devuelve un arreglo que después puedes iterar con un for o foreach. Lo importante aquí es que utilizó el delimitador o separador para separar cada palabra.
Separar cadena en PHP por guión
Esto también funciona con otros caracteres:
<?php
/*
Separar cadena usando delimitadores en PHP
https://parzibyte.me/blog
*/
$cadena = "Hola mundo-Soy otra oración-Me gusta PHP";
$separador = "-";
$separada = explode($separador, $cadena);
var_dump($separada);
/*
Salida:
array(3) {
[0]=>
string(10) "Hola mundo"
[1]=>
string(17) "Soy otra oración"
[2]=>
string(12) "Me gusta PHP"
}
*/
Si quieres usar saltos de línea o tabulaciones simplemente debes escapar el carácter correctamente.
Usar salto de línea como delimitador
El salto de línea se representa con \n
al igual que la tabulación con \t
. Para separar una cadena a partir de saltos de línea haríamos lo siguiente:
<?php
/*
Separar cadena usando delimitadores en PHP
https://parzibyte.me/blog
*/
$cadena = "Blue Jean
The Jean Genie
Stray Cat Strut
Fashion
Rock this town";
$separador = "\n"; // Usar salto de línea
$separada = explode($separador, $cadena);
var_dump($separada);
/*
Salida:
array(5) {
[0]=>
string(9) "Blue Jean"
[1]=>
string(14) "The Jean Genie"
[2]=>
string(15) "Stray Cat Strut"
[3]=>
string(7) "Fashion"
[4]=>
string(14) "Rock this town"
}
*/
Como puedes ver, solo se cambia el delimitador.
PHP: separar cadena a partir de otra cadena
Si queremos usar una cadena como delimitador, también es posible:
<?php
/*
Separar cadena usando delimitadores en PHP
https://parzibyte.me/blog
*/
$cadena = "parzibyte.mehttps://www.gogle.comhttps://facebook.com";
$separador = "https://"; // Usar una cadena
$separada = explode($separador, $cadena);
var_dump($separada);
/*
Salida:
array(3) {
[0]=>
string(12) "parzibyte.me"
[1]=>
string(13) "www.gogle.com"
[2]=>
string(12) "facebook.com"
}
*/
Conclusión
En conclusión, explode es el equivalente de PHP a split en otros lenguajes como Python.
Recuerda que la función va a devolver un arreglo.