Das ist ein RichText-Editor der mit JavaScript geschrieben wurde und mit CSS gestylet wurde. PHP wird einzig zur Verarbeitung oder für besondere Tätigkeiten die eine Serveraktion erfordern eingesetzt.
Beispiele für solche Editoren:
* tinyMCE
* CKeditor
* ...
Wieso willst Du so etwas selbst schreiben, wenn es schon so viele, flexible und nutzbare zur Auswahl gibt?