Cita: ahora me muestra ab7juan2 deberia ser abcde y no ab.
No, esta bien. Como has llamado a substr() ab es la salida correcta. Revisa el manual de substr() (
www.php.net/substr), es (cadena, posicion de comienzo, numero de caracteres a mostrar).
Saludos.