Foros del Web » Programando para Internet » PHP »

Convertir texto a tipo título (primera letra de cada palabra en mayúscula) en PHP

Estas en el tema de Convertir texto a tipo título (primera letra de cada palabra en mayúscula) en PHP en el foro de PHP en Foros del Web. Una de las preguntas que abundan en internet es como pasar mayuscualas a minúsculas y viceversa, ademas de como convertir una cadena a tipo título ...
  #1 (permalink)  
Antiguo 30/03/2012, 15:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Información Convertir texto a tipo título (primera letra de cada palabra en mayúscula) en PHP

Una de las preguntas que abundan en internet es como pasar mayuscualas a minúsculas y viceversa, ademas de como convertir una cadena a tipo título (primera letra de cada palabra en mayúscula) utilizando php las soluciones son muchas y bastante elaboradas, pero no solucionan eficientemente (hasta donde ví) el problema de los acentos. ejemplo:

Tengo este texto:
$texto="ÁBACO ÑERO CUADRÓ AÑORANZAS";

Puedo jugar con str_replace, strtolower, strtoupper, ucwords, ucfirst, pero deseo pasar el texto a tipo titulo, la mayoria de las funciones y ejemplos que encuentro me dan como resultado:

ábaco ñero cuadrÓ AÑoranzas. - mírese que las acentuadas no cambiaron

Ahora tenemos así
$texto="ábaco ñero cUADrÓ aÑoranzas";

El resultado
ábaco ñero CuadrÓ AÑoranzas. - lo mismo

Y la solucion bien sencilla y eficiente (creo) utilizando una funcion que a partir de PHP versión 4.3.0 podemos disponer mb_convert_case lo cual la funcion para convertir a tipo título quedaría así

Código PHP:
function primera_mayuscula($cadena){
$cadena=mb_convert_case($cadenaMB_CASE_TITLE"utf8");
return(
$cadena);
}

echo 
primera_mayuscula("ÁBACO ÑERO CUADRÓ AÑORANZAS");
echo 
primera_mayuscula("ábaco ñero cUADrÓ aÑoranzas");

//resultado para cualquiera de las dos: Ábaco Ñero Cuadró Añoranzas 
espero sea de ayuda.
  #2 (permalink)  
Antiguo 30/03/2012, 16:44
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 8 meses
Puntos: 44
Respuesta: Convertir texto a tipo título (primera letra de cada palabra en mayúscula)

muchas gracias por el dato... por el momento yo no lo ocupo pero no dudo que lo vaya a ocupar... un saludo
  #3 (permalink)  
Antiguo 21/05/2012, 16:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 35
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: Convertir texto a tipo título (primera letra de cada palabra en mayúscula)

Gracias! Excelente y sin vueltas, incluso es como dice el ejemplo. Tiene en cuenta los caracteres especiales y todo! Un idolo total con esta función ;)
  #4 (permalink)  
Antiguo 03/08/2013, 18:03
Avatar de Isaac_Calderon  
Fecha de Ingreso: agosto-2013
Ubicación: Chilpancingo
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Convertir texto a tipo título (primera letra de cada palabra en mayúscula)

Gracias por el aporte :)

Etiquetas: letra, mayuscula, minúscula, primera, titulo, cadenas
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

SíEste tema le ha gustado a 4 personas




La zona horaria es GMT -6. Ahora son las 23:01.