Autor Tema: Funciones cadenas string caracteres PHP concatenacion STRLEN SUBSTR (CU00821B)  (Leído 2116 veces)

hymsoft

  • Intermedio
  • ***
  • Mensajes: 103
  • hymsoft
    • Ver Perfil
Buenas!!! Solución al ejercicio CU00821B del manual de programación web con PHP y editor Notepad++.

Citar
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]
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>CU00821B - Solución</title>
</head>
<body>
<?php
//variables

                
$miCadena "Didactica y divulgacion de la programacion";
$subCadena1 substr($miCadena,0,9);
$subCadena2 substr($miCadena,10,1);
$subCadena3 substr($miCadena,12,11);
$subCadena4 substr($miCadena,24,2);
$subCadena5 substr($miCadena,27,2);
$subCadena6 substr($miCadena,30,12);

echo "Las palabras primera, tercera y sexta son: " $subCadena1 ", " $subCadena3 ", " $subCadena6 "<br><br>";

echo "La palabra primera es " $subCadena1 .  " y tiene " strlen($subCadena1) . " caracteres,";
echo " la palabra tercera es " $subCadena3 .  " y tiene " strlen($subCadena3) . " caracteres.";
echo " La palabra sexta es " $subCadena6 .  " y tiene " strlen($subCadena6) . " caracteres,";
?>

</body>
</html>

Acceso web: http://hymsoft.byethost33.com/CU00821B.php

Podrías explicarme porque cuando uso acentos, substr se comporta de manera extraña??? cambiándome la cantidad de caracteres eh incluso imprimiendo caracteres no reconocidos???

Saludos!!!!
« Última modificación: 24 de Junio 2017, 16:46 por Ogramar »
"Una persona inteligente es aquel que sabe ser tan inteligente como para contratar gente mas inteligente que el"

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Buenas hymsoft.

Si usas los acentos tienes que tener en cuenta que cada acento se cuenta como un carácter más. Prueba a cambiar esta parte:
Código: [Seleccionar]
$miCadena = "Didáctica y divulgación de la programación";
        $subCadena1 = substr($miCadena,0,10);
        $subCadena2 = substr($miCadena,11,1);
        $subCadena3 = substr($miCadena,13,12);
        $subCadena4 = substr($miCadena,26,2);
        $subCadena5 = substr($miCadena,29,2);
        $subCadena6 = substr($miCadena,32,13);

Saludos. ;D

 

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".