Si no recuerdo mal, puedes recorrer una cadena caracter por caracter directamente mediante un for:
Código:
for($i = 0; $i < strlen($cadena); i++)
$caracter = $cadena[$i];
Por otro lado quizas te fuera mas util utilizar expresiones regulares:
Código:
eregi("^[a-z0-9_-\.]$", $cadena);
Salu2
--- EDITADO ---
Mejor (no recuerdo si habria que escapar el guion):
Código:
eregi("^[a-z0-9_-\.]+$", $cadena);