Autor Tema: DUDA - Expresiones regulares  (Leído 338 veces)

Desconectado AlejoSketch

  • PHPero Avanzado
  • ****
  • Mensajes: 339
  • Karma: 12
  • Sexo: Masculino
  • Aprendiendo algo nuevo cada día!
    • Ver Perfil
DUDA - Expresiones regulares
« en: 25 de Junio de 2012, 02:08:15 am »
Hola! como les va?  :)

Bueno, estoy trabajando en un proyecto un poquito simple pero seguro saben que mi fuerte no es PHP, así que estuve investigando sobre las "expresiones regulares" en PHP ya que necesito construir un filtro en dicho lenguaje... esto con el fin de procesar una cadena común (obtenida a través de $_GET) y asegurarme que únicamente contenga:

[a-zA-Z] (letras en minúscula/mayúsculas)
[0-9] (números)
[-.,:] (guión alto, punto, coma, dos puntos)

Y la cosa es que no se muy bien como lograrlo desde la expresión como tal... dígamos que pretendo usarlo en un .htaccess:

Código: [Seleccionar]
RewriteRule ^usuario/([a-zA-Z0-9]+)/?$ index.php?name=$1
Ahí tengo claro cuando admito caracteres alfa-numéricos, pero no sabría como "combinarlo" con los otros caracteres que ya mencioné, si alguien me hecha una mano estaría agradecido! (puede que me esté ahogando en un vaso con agua jaja)
 
« Última modificación: 25 de Junio de 2012, 02:11:00 am por AlejoSketch »


Comunidad PHPeros

DUDA - Expresiones regulares
« en: 25 de Junio de 2012, 02:08:15 am »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:DUDA - Expresiones regulares
« Respuesta #1 en: 27 de Junio de 2012, 00:44:27 am »
Pues basta con encadenarlos:
Código: [Seleccionar]
RewriteRule ^usuario/([-\.,:a-z0-9]+)/?$ index.php?name=$1 [NC,L]
Nota: el flag NC indica No Case, para que no distinga mayusculas/minúsculas, L indica que es la última comprobación a realizar si ésta se cumple

Me parece que debería funcionar ;)