Hola:
Sólo quiero aclarar que, en la medida de lo posible, debemos evitar el uso de expresiones regulares, pues son mucho más costosas en cuanto a recursos del sistema. Ya lo dijo okram: Para obtener el primer caracter de una cadena basta con hacer:
Código PHP:
$primer_caracter = $cadena{0};
Insisto en que se deben utilizar llaves ({ })y no corchetes([ ]). ¿Por qué sobecargar el código utilizando funciones costosas cuando tenemos la variable ya disponible?
En el post que cita okram:
http://www.forosdelweb.com/f18/curiosidad-sobre-cadena-array-315398/
Y que jam recoge directamente del manual, está todo bastante claro. Este es el enlace directo:
http://www.php.net/types.string#lang....string.substr
Por favor, denle una mirada al manual.
Saludos