Use ctype em vez de regex se possível

Muitos scripts PHP tendem a confiar em expressões regulares para validar a entrada do usuário.

Embora validar a entrada do usuário seja uma boa ideia e uma obrigação, fazer isso por meio de expressão regular pode ser bem lento.

Em muitos casos, o processo de validação envolve apenas a verificação da string de origem em relação a uma determinada lista de caracteres, como AZ ou 0-9, etc …

Em vez de usar regex, você pode, em muitos casos, usar a extensão ctype para fazer o mesmo. A extensão ctype oferece uma série de wrappers de função em torno das funções is * () de C que verificam se um caractere específico está dentro de um determinado intervalo. Ao contrário das funções C que só podem trabalhar um caractere por vez, as funções do PHP podem operar em strings inteiras e são muito mais rápidas do que as expressões regulares equivalentes.

ctype_digit($foo);  
// is better than
preg_match
("![0-9]+!", $foo);

Também pode ser uma boa ideia às vezes usar uma verificação ctype estreita para verificar uma string e, se ela for aprovada, não há necessidade de executar a regex mais ampla. Dessa forma, você só executará a regex quando houver dúvida sobre a entrada.

Para obter mais detalhes sobre as funções ctype, consulte o manual do PHP.

http://www.php.net/manual/en/ref.ctype.php