Şöyle basit bir mantık kurayım sizin için;
HTML ve CSS ile bir textarea tasarımı yapın ve içerisine yazılan kodları (önizle) gibi bir buton ile php yardımıyla boş random isimli geçiçi html dosyası oluşturup içine atın ve bir tarafta ta o oluşturduğunuz html dosyasını iframe ile çekin.
Temel mantık bu tabiki ama asıl olay o textarea içerisindeki html etiketleri js ile renklendirme satır numaralandırması vb etkenler olacaktır o konuda da bilgili bir arkadaş çıkar sanırım.
Daha ileri seviye mantık tabiki yürütülür ben öyle basit bir taş attım.
Düzenleme; Bir daha düşündüm de php ile olmaz o iş :) önizleme çekmek için başka bir yol gerekir sanırım bahsettiğim mantıkta sayfanın yeniden yüklenmesi gerekir.