Foros del Web » Programando para Internet » PHP »

preg_match ÀÈÌÒÙ

Estas en el tema de preg_match ÀÈÌÒÙ en el foro de PHP en Foros del Web. No encontraba otro título más descriptivo a este post. Ruego me disculpen Bien, ya vi en google algunos post relacionados con este problema, pero no ...
  #1 (permalink)  
Antiguo 22/04/2010, 14:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años, 1 mes
Puntos: 0
preg_match ÀÈÌÒÙ

No encontraba otro título más descriptivo a este post. Ruego me disculpen

Bien, ya vi en google algunos post relacionados con este problema, pero no me han funcionado.

(http://www.forosdelweb.com/f18/preg_match-que-acepte-tildes-346157)

El problema es que, si por ejemplo deseo que tales carácteres como À,à,ä,á,â...
sean reconocidos por dicha función (preg_match)... pues no tengo ni idea de como.

Incluso he visto en foros no-españoles instrucciones para solucionar eso, pero nada... nada de nada...

Por eso es que me he decidido a hacer el post. Si alguien pudiera ayudarme...

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 22/04/2010, 14:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: preg_match ÀÈÌÒÙ

¿Qué haz intentado?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 22/04/2010, 14:26
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: preg_match ÀÈÌÒÙ

El foro del que hablé en el primer post... He seguido instrucciones de foros ingleses... Todo sin éxito.

Mi finalidad a todo esto es conseguir que permita todos los carácteres de la A-Z, a-z, 0-9 y los Áá,Àà,Éé... etc.

Pero claro, cuando parece que el script funciona. Hago una prueba con 'or'1
, poniendo comillas, paréntesis, signos de interrogación... y lo pasa.

Vamos, que lo pasa todo como válido. No se si me explico.

Aquí otra... http://stackoverflow.com/questions/2406577/weird-error-using-preg-match-and-unicode

Y si en google se busca "preg_match tildes/acentos/unicode" (no se si unicode tiene algo que ver) aparecen 10000 resultados, pero aun no he dado con el que funcione.

Gracias por contestar :)
  #4 (permalink)  
Antiguo 22/04/2010, 14:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: preg_match ÀÈÌÒÙ

Entiendo, pero que tú haz hecho. Haz seguido los tutoriales, pero muestra lo que tú haz hecho.
__________________
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 22/04/2010, 14:53
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: preg_match ÀÈÌÒÙ

Creo que de antemano estás errando al usar la funcion preg_match

Código PHP:
Ver original
  1. preg_replace();//si quieres eliminar los caracteres inválidos y/o hacer pequeñas cosas con las coincidencias.
  2. eregi();//si solo quieres comprobar que la cadena tenga caracteres válidos
  3. preg_match();//si ocupas hacer algo con las coincidencias encontradas.

y la regexp debería ser algo así:

/^([a-z0-9\À\à\ä\á\â])$/i
  #6 (permalink)  
Antiguo 23/04/2010, 01:01
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: preg_match ÀÈÌÒÙ

Actualmente tengo esto, que no va.
Código PHP:
if ( preg_match('/[^A-Za-zÁÉÍÓÚäëïöüÄËÏÖÜáéíóúàèìòù0-9_- ]+/',$nombre) )

{
// datos incorrectos
$error 'Los datos introducidos no son correctos.';
}
else
{
// datos correctos, procedemos
...


He intentado con lo que decía rpv, pero tampoco;
Código PHP:
preg_match('/^([a-z0-9\À\à\ä\á\â])$/i',$nombre
De las 2 opciones, todo el texto que escriba, tenga A, comillas, almohadillas, interrogaciones, carácteres que no están en la función... me lo pasa.

¿Se os ocurre algo? Gracias de nuevo.
  #7 (permalink)  
Antiguo 23/04/2010, 09:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: preg_match ÀÈÌÒÙ

¿Por qué deseas usar Expresiones Regulares? Tal vez haya una forma de resolver lo que deseas sin necesidad de usar Expresiones Regulares. Para usar esa expresión solo debes hacerlo de esta forma
Código PHP:
Ver original
  1. <?php
  2. $str = 'foó bár cándy béll';
  3. preg_match_all('/\w*([áéíóú])\w*/',$str,$m);
  4. echo '<pre>';
  5. echo '</pre>';
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 25/04/2010, 14:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: preg_match ÀÈÌÒÙ

Me sirvió de 10. Muchísimas gracias. :)

Gracias a todos.

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 14:06.