php - móviles - manual de programacion android pdf
¿Cómo puedo dividir una cadena en la primera aparición de algo? (5)
Echa un vistazo al tercer parámetro de explode
:
$limit
Si se establece límite y positivo, la matriz devuelta contendrá un máximo de elementos de límite con el último elemento que contiene el resto de la cadena.
Si el parámetro límite es negativo, se devuelven todos los componentes excepto el último límite.
Si el parámetro límite es cero, esto se trata como 1.
$a=explode(''-'',''chocolate-vanilla-blueberry-red'', 2);
echo $a[1]; // outputs vanilla-blueberry-red
Sé que "explotar" divide la cadena y la convierte en una matriz para cada aparición. Pero, ¿cómo me divido en la primera aparición y guardo todo después de la primera aparición?
Ejemplos:
$split = explode(''-'', ''orange-yellow-red'');
echo $split[1]; // output: "yellow"
^ Me gustaría esto para dar salida: amarillo-rojo
$split = explode(''-'', ''chocolate-vanilla-blueberry-red'');
echo $split[1]; // output: "vanilla"
^ Me gustaría esto para dar salida: vainilla-arándano-rojo
Puede pasar el limit
como el tercer parámetro de explode
que hará el trabajo.
$split = explode(''-'', ''orange-yellow-red'',2);
echo $split[1]; //output yellow-red
Una solución sin variable:
strtok(''orange-yellow-red'', ''-'');
echo strtok(null);
una expresión regular tal vez?
[^-]+-
$split = explode(''-'', ''chocolate-vanilla-blueberry-red'');
unset($split[0]);
echo implode(''-'', $split); # vanilla-blueberry-red