Foros del Web » Programando para Internet » PHP »

mayusculas, minusculas?

Estas en el tema de mayusculas, minusculas? en el foro de PHP en Foros del Web. pues tengo un formulario <form method="post" action="<? $PHP_SELF ?>"> Escribe tu nombre: <input type="text" name="nombre"> </form> y pues lo que deseo es que la primera ...
  #1 (permalink)  
Antiguo 20/03/2003, 00:26
 
Fecha de Ingreso: marzo-2003
Mensajes: 2
Antigüedad: 21 años, 8 meses
Puntos: 0
mayusculas, minusculas?

pues tengo un formulario

<form method="post" action="<? $PHP_SELF ?>">
Escribe tu nombre: <input type="text" name="nombre">
</form>

y pues lo que deseo es que la primera letra de la cadena de textos que escriban me salga en mayusculas y lo siguiente en puras minusculas ya que voy a guardarlo en un fichero en futuras operaciones, alguien tiene idea de como hacer esto?
  #2 (permalink)  
Antiguo 20/03/2003, 01:05
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
si quieres que EN EL MOMENTO EN QUE ESCRIBES LA PALABRA la primera letra se convierta a mayuscula y las demas a minusculas, pienso que deberias usar JAVASCRIPT , en cambio si ingresas la palabra y la "envias" ahi la puedes procesar y convertir con la ayuda de PHP, para poder guardarla como gustes.

saludos
__________________
=PoWeReD By MySeLf!=
  #3 (permalink)  
Antiguo 20/03/2003, 06:05
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 8 meses
Puntos: 0
hola,

en PHP puedes usar la función ucfirst(), que convierte la primer letra de una cadena a mayúscula.

Código PHP:
$cad "juancho algo";
$cad ucfirst($cad); // retorna "Juancho algo" 
si es para nombres propios también vas a necesitar capitalizar las otras palabras aparte del primer nombre; es decir, no "Juancho algo" sino "Juancho Algo" (eso si necesitas el nombre completo no el primer nombre solamente). Para eso puedes usar explode(); o sea haz esto suponiendo que $cad contiene lo que introdujo el usuario en el campo de texto:

Código PHP:
$nombre explode(" "$cad);
for (
$r 0$r sizeof($nombre); $r++) {
$nombre[$r] = ucfirst($nombre[$r]);

también te convendría pasar antes lo que escribió el usuario todo a minúsculas para evitar malentendidos en la forma que recibes los datos. Puede ser que un usuario escriba su nombre todo en mayúsculas en el campo; así que pasa esta función antes para pasarlo todo a minúsculas:

Código PHP:
$cad strtolower($cad); // retorna todo en minusculas 
ya que si el usuario escribe "JUANCHO ALGO" la función ucfirst() dejará to en mayúsculas así como está..,

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
  #4 (permalink)  
Antiguo 20/03/2003, 11:58
 
Fecha de Ingreso: marzo-2003
Mensajes: 2
Antigüedad: 21 años, 8 meses
Puntos: 0
pues lo que yo quiero es que con un "print" o "echo" me saque por ejemplo si el usuario escribio:

eStE eS Mi NoMbRE

con unas funciones me saque

Este es mi nombre

osea no mas la primera letra de la cadena en mayuscula y las demas en minusculas
  #5 (permalink)  
Antiguo 20/03/2003, 12:04
 
Fecha de Ingreso: diciembre-2002
Mensajes: 59
Antigüedad: 21 años, 11 meses
Puntos: 0
Código PHP:
$nombre strtolower($nombre ); //pasa todo a minúsculas
$nombre ucfirst($nombre ); //pasa la primera letra a mayúsculas 
Es decir, primero pasas 'eStE eS Mi NoMbRE ' a 'este es mi nombre ', y luego pasas 'este es mi nombre' a 'Este es mi nombre '

Última edición por N0vatO; 20/03/2003 a las 12:06
  #6 (permalink)  
Antiguo 20/03/2003, 20:28
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Estimado amigo:
Puedes usar la funcion ucwords de PHP, la cual convierte en mayuscula la primera letra de cada palabra de una cadena.

$cadena=ucwords($cadena);
__________________
________________________________________

Ugho.
  #7 (permalink)  
Antiguo 20/03/2003, 21:14
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
te remito al siguiente post, en el cual se discutio esto, no le encuentro mucha logica en repetir varias veceslas mismas respuestas... saludos

http://www.forosdelweb.com/showthrea...hreadid=107942
__________________
=PoWeReD By MySeLf!=
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 22:18.