Foros del Web » Programando para Internet » PHP »

Problema muy tonto

Estas en el tema de Problema muy tonto en el foro de PHP en Foros del Web. Hola a todos necesito comparar carácteres de una cadena con acentos y no me sale alguien me puede ayudar. El ejemplo es el siguiente: Código ...
  #1 (permalink)  
Antiguo 06/02/2013, 04:14
 
Fecha de Ingreso: julio-2008
Mensajes: 155
Antigüedad: 15 años, 9 meses
Puntos: 1
Problema muy tonto

Hola a todos necesito comparar carácteres de una cadena con acentos y no me sale alguien me puede ayudar.
El ejemplo es el siguiente:

Código PHP:
$texte "là";

echo 
$texte[1];


if(
$texte[1] == "à"){
    
echo 
"true";
}else{
    echo 
"false";
    

Me muestra por pantalla false y me tendría que decir true.
Sin acentos si me sale.
Será una tontería pero me estoy volviendo loco.
Muchas gracias por vuestra ayuda.
Saludos.
  #2 (permalink)  
Antiguo 06/02/2013, 04:34
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: Problema muy tonto

Para que salga true tendria que ser:

Código PHP:
Ver original
  1. if($texte[1] == "là"){

no? sino no entiendo el problema ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #3 (permalink)  
Antiguo 06/02/2013, 04:38
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 muy tonto

No es ninguna tontería, es un comportamiento normal de php, para manejar dichos caracteres necesitas usar funciones multi-byte.

Consulta el manual:
http://php.net/manual/es/book.mbstring.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 06/02/2013, 04:50
 
Fecha de Ingreso: julio-2008
Mensajes: 155
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problema muy tonto

Hola el problema que tengo es lo siguiente tal vez no ha quedado muy claro.

el usuario entra una cadena la que sea con acentos y sin acentos da lo mismo.

Entonces lo que quiero hacer es recorrer letra a letra y comparar si la letra tiene o no acento.
Si tiene acento hacer una cosa determinada y si no tiene hacer otra cosa.

Lo que he intentado es forzar una cadena imaginaria ($texte)
$texte = "là";

Entonces con el if($texte[1] == "à"){

mirar en la posición 2 porque empieza desde el 0 entonces el 1 es el dos.

si en la posición 1 de la palabra encuentra un acento cosa que en teoría hay tendria que mostrar true y me muestra false.

Gracias.

Espero que lo tengais un poco mas claro
  #5 (permalink)  
Antiguo 06/02/2013, 05:36
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: Problema muy tonto

vale vale, fallo mio.... no me habia dado cuenta jajaj :P, sigue el enlace de pateketrueke haber si te sirve.
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #6 (permalink)  
Antiguo 06/02/2013, 06:36
 
Fecha de Ingreso: julio-2008
Mensajes: 155
Antigüedad: 15 años, 9 meses
Puntos: 1
Exclamación Respuesta: Problema muy tonto

Hola alguien me puede explicar como funciona los multi-byte para el tema de los acentos.
Con lo que quiero hacer.
No se como empezar.
Con un ejemplo sencillito.

Gracias

Etiquetas: Ninguno
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 08:46.