Expressões Regulares em PHP

Saraiva-Man

Membro
Boa noite!

Agradecia que alguém me arranjasse um bom tutorial ou e-book sobre expressões regulares em PHP, para usar com regex().

Nomeadamente, gostava que o input de um form não permitisse asteriscos, aspas, parêntesis e plicas (por exemplo).
Tenho uma pequena noção que o posso fazer com classes de palavras, algo do género:

([0-9][a-z][A-Z]){6,8}

(Quero só caracteres alfanuméricos; dimensão de 6 a 8 caracteres. Corrijam-me se estiver errado).

Abraços, bom ano novo e boa programação! ;)
 
Boas, a tua expressão tem um problema: não vai aceitar caracteres acentuados, entre outros (como espaços em branco, por exemplo).

Uma maneira de resolver o problema é usares uma expressão regular que aceite tudo excepto um determinado conjunto de caracteres. Para isto, utiliza-se normalmente uma expressão regular do tipo: [^ ]. Esta expressão vai validar todos os caracteres, excepto os que tiverem contidos entre os parênteses rectos. Por exemplo, a expressão regular [^xyz] vai validar todos os caracteres excepto o 'x', o 'y' e o 'z'.

Para validares todos os caracteres, excepto os que indicaste no teu primeiro post, vais ter uma expressão regular do género: [^*"'[\]()]. Repara que um dos parênteses rectos que pretendes excluir (]) serve para delimitar a tua expressão regular e, de forma a poderes utilizá-lo dentro da tua expressão, terás de usar o caracter de escape "\" (backslash).

Espero que ajude.
 
Última edição:
Muito boa ajuda!

;)

Obrigado caro colega...sou mesmo um zero à esquerda a expressões regulares. Preciso de um livro em português sobre o assunto. :p
Vou continuar a programar.
Abraço
 
Back
Topo