Autor Tema: PHP cómo extraer parte de texto substr contar el número de caracteres CU00821B#  (Leído 4394 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas tardes. Aquí os expongo una posible solución del ejercicio CU00821B del curso PHP desde cero.

Citar
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>> 

Código: [Seleccionar]
<?php 
$cad "Didáctica y divulgación de la programación";
$sub1 substr($cad010);
$sub2 substr($cad111);
$sub3 substr($cad1312);
$sub4 substr($cad262);
$sub5 substr($cad292);
$sub6 substr($cad3213);
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.
« Última modificación: 31 de Octubre 2020, 14:12 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00821B Concatenar cadenas en PHP
« Respuesta #1 en: 05 de Mayo 2016, 23:26 »
Hola dimiste.

Los códigos propuestos están bien.

Para que sean perfectos, recordarte que cierres las etiquetas html que solo tengan un tag.
<br/>

Ahora te resulta confuso porque has estado durante mucho tiempo con JavaScript, pero con el tiempo no te costará, y no tratarás de comparar un lenguaje con otro, simplemente actuarás en consecuencia con el lenguaje que toque utilizar.

Saludos. ;D

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00821B Concatenar cadenas en PHP
« Respuesta #2 en: 06 de Mayo 2016, 10:34 »
Buenos días, Pedro.

Graicas por la corrección.

Espero que sea como tu dices, que con el tiempo no intente comparar los diferentes lenguajes.

Es verdad, siempre me olvido de cerrar las etiquetas que tienes sólo un tag.

Saludos :)

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

Al probar el código he obtenido

Las palabras primera, tercera y sexta son: Didáctica, divulgación, programación
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


Este resultado puede diferir según la configuración del navegador que estemos usando. Pero querremos que nuestra web se vea bien en cualquier navegador y configuración, por ello para evitar esto... ya se sabe, el meta charset...

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas, César.

Gracias por tu aportación. Pero cómo tengo que ponerlo? así:

Código: [Seleccionar]
<?php 
$cad "Didáctica y divulgación de la programación";
$sub1 substr($cad010);
$sub2 substr($cad111);
$sub3 substr($cad1312);
$sub4 substr($cad262);
$sub5 substr($cad292);
$sub6 substr($cad3213);
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í:

Código: [Seleccionar]
<?php 
$cad "Didáctica y divulgación de la programación";
$sub1 substr($cad010);
$sub2 substr($cad111);
$sub3 substr($cad1312);
$sub4 substr($cad262);
$sub5 substr($cad292);
$sub6 substr($cad3213);
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.

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola! De ambas maneras funciona así que veo bien ponerlo de cualquiera de las dos. Yo prefiero la segunda porque así generas un documento HTML válido pero en este curso lo importante es php (y que las cosas se vean bien  ;D)

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".