Retroceder   Foros del Web > Programación para sitios web > PHP
Crea un nuevo usuario o inicia sesión utilizando tu cuenta de Facebook
Connect with Facebook

Respuesta
 
Herramientas Desplegado
Antiguo 19-ago-2008, 12:29   #1 (permalink)
kuve ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
kuve está desconectado
Frase en la que no aparezcan ciertas palabras con REGEX

Hola, estoy intentando encontrar la expresión regular que me permita reconocer cadenas que no contengan ciertas palabras.

Quizás se vea mejor en el siguiente ejemplo, quiero encontrar una cadena que no contenga las palabras account o webgen de forma que:

http://www.miweb.com/account/register =>NO VALIDA
http://www.miweb.com/account => NO VALIDA
http://www.miweb.com/webgen => NO VALIDA
http://www.miweb.com/webgen/create => NO VALIDA

http://www.miweb.com/perroflauta => VALIDA

Llevo un rato probando y no he conseguido nada claro, mi problema está en que no sé referirme a toda una palabra sino a una sola letra

## Regex probada y no funcional:

Código:
^.*([^account]|[^webgen]).*$
Gracias!
  Responder Citando
Antiguo 19-ago-2008, 12:31   #2 (permalink)
emiliodeg se está ganando tu confianza
 
Avatar de emiliodeg
 
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.430
emiliodeg está desconectado
Respuesta: Frase en la que no aparezcan ciertas palabras con REGEX

^.*(account|webgen).*$

directamente sin corchetes ni ^
si cae en esto el regex lo denegas y listo
saludos
__________________
Degiovanni Emilio
developtus.com
mi neurona
  Responder Citando
Antiguo 19-ago-2008, 12:36   #3 (permalink)
kuve ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
kuve está desconectado
Respuesta: Frase en la que no aparezcan ciertas palabras con REGEX

Pero es que lo que necesito es justamente lo contrario, no me vale denegarlo, esta opción también la había mirado.
  Responder Citando
Antiguo 19-ago-2008, 12:40   #4 (permalink)
emiliodeg se está ganando tu confianza
 
Avatar de emiliodeg
 
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.430
emiliodeg está desconectado
Respuesta: Frase en la que no aparezcan ciertas palabras con REGEX

bueno si lo q quieres es q siempre tengan q estar alguna de estas dos palabras pones

if(eregi($expresion,$url)){} en el caso contrario le agregas un ! delante de eregi
__________________
Degiovanni Emilio
developtus.com
mi neurona
  Responder Citando
Antiguo 19-ago-2008, 12:56   #5 (permalink)
kuve ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
kuve está desconectado
Respuesta: Frase en la que no aparezcan ciertas palabras con REGEX

Parece que funcionó la primera opción pero con un pequeño detalle, para hacer el remapeo de las urls tuve que poner las expresiones regulares en orden de forma que supongo que el framework comparará primero una de ellas y luego la otra haciendo una especie de condicional, de forma que han quedado:

Código:
$route['(account|webgen)/(.*)'] = "$1/$2";
$route[':any'] = "router/to"
Por ahora parece que funciona, habrá que verlo más adelante, gracias.
  Responder Citando
Respuesta
No hay votos aún.
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.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 17:24.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100