Buenas tardes. Aquí os expongo una posible solución del ejercicio CU00821B del curso PHP desde cero.
EJERCICIO
Crea el código PHP que cumpla con lo que se indica a continuación:
a) Declara una variable cuyo contenido sea la cadena "Didáctica y divulgación de la programación"
b) Usando la función substr extrae cada una de las palabras de la cadena anterior a una variable. Como tenemos 6 palabras, debes tener 6 variables con las subcadenas.
c) Usando la concatenación muestra por pantalla lo siguiente: <<Las palabras primera, tercera y sexta son: Didáctica, divulgación, programación>>
d) Usando strlen muestra por pantalla lo siguiente: <<La palabra primera es Didáctica y tiene 9 caracteres, la palabra tercera es divulgación y tiene 11 caracteres. La palabra sexta es programación y tiene 12 caracteres>>
<?php $cad = "Didáctica y divulgación de la programación"; $sub1 = substr($cad, 0, 10); $sub2 = substr($cad, 11, 1); $sub3 = substr($cad, 13, 12); $sub4 = substr($cad, 26, 2); $sub5 = substr($cad, 29, 2); $sub6 = substr($cad, 32, 13); echo "Las palabras primera, tercera y sexta son: ".$sub1.", ".$sub3.", ".$sub6."<br>"; echo "La palabra primera es ".$sub1." y tiene ".(strlen($sub1)-1)." caracteres, la palabra tercera es ".$sub3." y tiene ".(strlen($sub3)-1)." caracteres. La palabra sexta es ".$sub6." y tiene ".(strlen($sub6)-1)." caracteres";?>
Observación: viniendo del curso JavaScript allí cuando sustraes alguna subcadena se hace mediante dos parámetros: substring(par1, par2), donde el par1 es el primer carácter donde empieza la subcadena y el segundo es donde acabará la sustracción de la subcadena (el segundo queda excluido).
Por lo visto, en PHP no es así. Con el método "substr" tenemos también dos posibles parámetros, pero el segundo no significa el carácter donde se acabará la sustracción de la subcadena, sino cuantos carácteres se tendrán que sustraer a partir de la posición que le habíamos asignado en el primer parámetro.
Es, un poco, confuso.
Gracias.
Buenas, César.
Gracias por tu aportación. Pero cómo tengo que ponerlo? así:
<?php $cad = "Didáctica y divulgación de la programación"; $sub1 = substr($cad, 0, 10); $sub2 = substr($cad, 11, 1); $sub3 = substr($cad, 13, 12); $sub4 = substr($cad, 26, 2); $sub5 = substr($cad, 29, 2); $sub6 = substr($cad, 32, 13); echo "<meta charset='utf-8'/>"; echo "Las palabras primera, tercera y sexta son: ".$sub1.", ".$sub3.", ".$sub6."<br>"; echo "La palabra primera es ".$sub1." y tiene ".(strlen($sub1)-1)." caracteres, la palabra tercera es ".$sub3." y tiene ".(strlen($sub3)-1)." caracteres. La palabra sexta es ".$sub6." y tiene ".(strlen($sub6)-1)." caracteres";?>
o así:
<?php $cad = "Didáctica y divulgación de la programación"; $sub1 = substr($cad, 0, 10); $sub2 = substr($cad, 11, 1); $sub3 = substr($cad, 13, 12); $sub4 = substr($cad, 26, 2); $sub5 = substr($cad, 29, 2); $sub6 = substr($cad, 32, 13); echo "<!DOCTYPE html><html><head><meta charset='utf-8'/></head><body>"; echo "Las palabras primera, tercera y sexta son: ".$sub1.", ".$sub3.", ".$sub6."<br>"; echo "La palabra primera es ".$sub1." y tiene ".(strlen($sub1)-1)." caracteres, la palabra tercera es ".$sub3." y tiene ".(strlen($sub3)-1)." caracteres. La palabra sexta es ".$sub6." y tiene ".(strlen($sub6)-1)." caracteres</body></html>";?>
Gracias.