Yo hice este hace un tiempo:
http://leimbox.ezakto.com/silab/
Y terminó siendo más complicado de lo que parece. Lo hice con un manual de lengua castellana en la mano para tratar de cubrir todos los casos. Lo hice contando letra por letra, y teniendo en cuenta si la última letra leída es vocal/consonante/liquida/licuante/diptongo/triptongo etc.
El código en sí está un poco desastroso y sin comentarios, así por lo pronto no lo publicaré porque me da pena xP