Foros del Web » Programando para Internet » PHP »

Ejercicio PHP

Estas en el tema de Ejercicio PHP en el foro de PHP en Foros del Web. Hola, estoy haciendo un curso de PHP, pero tengo un ejercicio que no lo puedo resolver, busque info pero no sube el agua al tanque... ...
  #1 (permalink)  
Antiguo 12/09/2011, 06:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Ejercicio PHP

Hola, estoy haciendo un curso de PHP, pero tengo un ejercicio que no lo puedo resolver, busque info pero no sube el agua al tanque... nose como resolverlo.

El siguiente ejercicio dice:

Crea un formulario -formulario.php- mediante el que puedas transferir un valor de texto (un input tipo textarea).

El contenido del textarea debería visualizarse integramente en minúsculas, excepto los diez primeros caracteres que deberían verse en mayúsculas mediante printf.

El formulario es el siguiente:

<form name="formulario" method="get" action="formulario.php" value=""><BR>
Texto Area<br>
<textarea row="5" cols="50" name="textarea"><BR>
</textarea><br>
<input type="submit" value="enviar">
</form>

Utilice:

strtoupper
strtolower
substr

pero no se el modo correcto de generar el codigo adecuado para que se visualice correctamente.

Les agradecería cualquier ayuda o sugerencia para elaborar el ejercicio.

Saludos Cordiales
  #2 (permalink)  
Antiguo 12/09/2011, 06:52
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ejercicio PHP

Convierte todo a minuscula usando por ejemplo mb_strtolower (lo digo para que puedas también convertir los acentos y otras letras que no lo hará strtolower), luego puedes usar preg_replace y convertir los primeros 10 caracteres a mayúsculas y logicamente en el segundo parametro usas mb_strtoupper (acuerdate que para que se ejecute una función en el segundo parametro tienes que declara el modificador e).
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 12/09/2011 a las 07:00
  #3 (permalink)  
Antiguo 12/09/2011, 07:47
 
Fecha de Ingreso: octubre-2008
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ejercicio PHP

Hola, muchas gracias por responder, estoy intentando pero sigo teniendo error en el codigo:

<?
$c = $_GET['textarea'];
$d = mb_strtolower($c);
$e = mb_strtoupper($c,10);
$f = preg_replace($d,$e);
printf ($f);
?>

Me aparecen estos 2 errores:

Warning: mb_strtoupper() [function.mb-strtoupper]: Unknown encoding "10"

Warning: Wrong parameter count for preg_replace()

Desde ya muchas gracias por su tiempo y paciencia.

Saludos
  #4 (permalink)  
Antiguo 12/09/2011, 08:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ejercicio PHP

Como te indiqué dentro de preg_replace usa mb_strtoupper. Algo como
Código PHP:
Ver original
  1. <?php
  2. $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  3.     Integer id porta lacus. Fusce placerat tempus mi, ornare
  4.     adipiscing velit consectetur nec. Etiam eleifend feugiat nunc
  5.     et posuere. Aenean vehicula, odio vel suscipit rhoncus,
  6.     lectus urna aliquam lacus, a cursus felis ligula adipiscing
  7.     quam. Curabitur vitae tellus felis, congue suscipit dolor.
  8.     Quisque non felis augue, pharetra varius risus. Phasellus
  9.     tincidunt ipsum orci, fermentum tincidunt diam.';
  10. printf(preg_replace('/^(.{10})/e', "mb_strtoupper('$1')", mb_strtolower($str)));
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 12/09/2011, 08:12
 
Fecha de Ingreso: octubre-2008
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Ejercicio PHP

Ahora sí!, recien me estoy iniciando en PHP, muchas gracias por su ayuda.

Saludos Cordiales
  #6 (permalink)  
Antiguo 12/09/2011, 10:11
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: Ejercicio PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Como te indiqué dentro de preg_replace usa mb_strtoupper. Algo como
Código PHP:
Ver original
  1. <?php
  2. $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  3.     Integer id porta lacus. Fusce placerat tempus mi, ornare
  4.     adipiscing velit consectetur nec. Etiam eleifend feugiat nunc
  5.     et posuere. Aenean vehicula, odio vel suscipit rhoncus,
  6.     lectus urna aliquam lacus, a cursus felis ligula adipiscing
  7.     quam. Curabitur vitae tellus felis, congue suscipit dolor.
  8.     Quisque non felis augue, pharetra varius risus. Phasellus
  9.     tincidunt ipsum orci, fermentum tincidunt diam.';
  10. printf(preg_replace('/^(.{10})/e', "mb_strtoupper('$1')", mb_strtolower($str)));
Que diferencia tiene el usar echo, print, printf, en este ejemplo abimaelrc
__________________
Programador jQuery & PHP
  #7 (permalink)  
Antiguo 12/09/2011, 11:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ejercicio PHP

En ese caso nada, pero es bueno para trabajar dinamicamente los textos. Algo como por ejemplo
Código PHP:
Ver original
  1. <?php
  2. $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  3.    Integer id porta lacus. Fusce placerat tempus mi, ornare
  4.    adipiscing velit consectetur nec. Etiam eleifend feugiat nunc
  5.    et posuere. Aenean vehicula, odio vel suscipit rhoncus,
  6.    lectus urna aliquam lacus, a cursus felis ligula adipiscing
  7.    quam. Curabitur vitae tellus felis, congue suscipit dolor.
  8.    Quisque non felis augue, pharetra varius risus. Phasellus
  9.    tincidunt ipsum orci, fermentum tincidunt diam.';
  10. $str10 = mb_strtoupper(substr($str, 0, 10));
  11. $strRest = mb_strtolower(substr($str, 10));
  12. $count = printf('%1$s%2$s', $str10, $strRest);
  13. echo '<br /> Caracteres en el texto: ' . $count;
Ahí se ve el uso de lo que se puede hacer con printf.

En el %1$s carga lo que contenga la primera variable, en el %2$s carga lo que haya en la segunda variable y $count es lo mismo que strlen, devuelve el total de caracteres que hay en la cadena.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: ejercicio, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:25.