Foros del Web » Programando para Internet » PHP »

Problema de ucwords y accentos

Estas en el tema de Problema de ucwords y accentos en el foro de PHP en Foros del Web. Hola, estoy tratando de convertir la primera letra en mayúscula usando Código PHP: ucwords  . Funciona, pero si la palabra empieza o contiene una letra ...
  #1 (permalink)  
Antiguo 08/12/2009, 22:11
Avatar de jartaud  
Fecha de Ingreso: octubre-2009
Ubicación: Canal de Panamá
Mensajes: 96
Antigüedad: 14 años, 6 meses
Puntos: 2
Problema de ucwords y accentos

Hola, estoy tratando de convertir la primera letra en mayúscula usando
Código PHP:
ucwords 
.

Funciona, pero si la palabra empieza o contiene una letra con acentos, la función lo ignora

ej.: ñame return (ñame en vez de Ñame)

Cualquier ayuda sera bienvenida
  #2 (permalink)  
Antiguo 08/12/2009, 23:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema de ucwords y accentos

lee el manual
http://php.net/ucwords
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/12/2009, 23:08
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: Problema de ucwords y accentos

Trata con mb_convert_case. Mira el ejemplo que dan para que puedas entender. Aunque a mi me funciona usar ucwords con caracteres especiales tales como ñáéíóú.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 09/12/2009, 00:19
Avatar de jartaud  
Fecha de Ingreso: octubre-2009
Ubicación: Canal de Panamá
Mensajes: 96
Antigüedad: 14 años, 6 meses
Puntos: 2
Cita:
Iniciado por pateketrueke Ver Mensaje
lee el manual
php.net/ucwords
Lo usé como dice el manual: ucwords($str)

Código PHP:
$str "ñame";
echo 
ucwords($str); /* prints ñame */  PHP 5.3.0 
Cita:
Iniciado por abimaelrc Ver Mensaje
Trata con php.net/manual/en/function.mb-convert-case.php" mb_convert_case. Mira el ejemplo que dan para que puedas entender. Aunque a mi me funciona usar ucwords con caracteres especiales tales como ñáéíóú.
La verdad no c porque no funciona (corriendo PHP 5.3.0)

Código PHP:
$str "ñame ética";
$str mb_convert_case($strMB_CASE_TITLE"UTF-8");
echo 
$str;

//Prints
Ame Tica 

Última edición por GatorV; 09/12/2009 a las 10:18
  #5 (permalink)  
Antiguo 09/12/2009, 00:51
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Problema de ucwords y accentos

he aqui yo uso PHP Version 5.2.6 y me funciona igual que a jartaud ;S
pero con mb_convert_case();

pero ya con
Código PHP:
<?php
$foo 
'hello world!';
$foo ucwords($foo);             // Hello World!
  #6 (permalink)  
Antiguo 09/12/2009, 00:57
Avatar de jartaud  
Fecha de Ingreso: octubre-2009
Ubicación: Canal de Panamá
Mensajes: 96
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Problema de ucwords y accentos

Cita:
Iniciado por Vitesse92 Ver Mensaje
he aqui yo uso PHP Version 5.2.6 y me funciona igual que a jartaud ;S
pero con mb_convert_case();

pero ya con
Código PHP:
<?php
$foo 
'hello world!';
$foo ucwords($foo);             // Hello World!
quieres decir que con mb_convert_case() si funciona en PHP 5.2.6?
  #7 (permalink)  
Antiguo 09/12/2009, 07:12
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema de ucwords y accentos

Prueba con:

Código PHP:
$str "ñame águila épsilon";
echo 
mb_convert_encoding(mb_convert_case($strMB_CASE_TITLE), "UTF-8"); 
  #8 (permalink)  
Antiguo 09/12/2009, 16:23
Avatar de jartaud  
Fecha de Ingreso: octubre-2009
Ubicación: Canal de Panamá
Mensajes: 96
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Problema de ucwords y accentos

Cita:
Iniciado por serser Ver Mensaje
Prueba con:

Código PHP:
$str "ñame águila épsilon";
echo 
mb_convert_encoding(mb_convert_case($strMB_CASE_TITLE), "UTF-8"); 
Si sirve Gracias hermano(a)
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:39.