var timer=0;
var ptag=String.fromCharCode(5,6,7);
function  previsualisation() {
t=document.formulaire.textarea.value 
t=code_to_html(t)
if (document.getElementById) document.getElementById("prev").innerHTML=t
if (document.formulaire.auto.checked) timer=setTimeout(previsualisation,1)
<!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
}
function automatique() {
if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
}
function code_to_html(t) {
t=nl2khol(t)
// balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
t=deblaie(/(\[\/gras\])/g,t)
t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t) 
t=remblaie(t)

// balise Italic
t=deblaie(/(\[\/italic\])/g,t)
t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t) 
t=remblaie(t)

// balise Souligné
t=deblaie(/(\[\/souligne\])/g,t)
t=remplace_tag(/\[souligne\](.+)\[\/souligne\]/g,'<span style="text-decoration:underline;">$1</span>',t) 
t=remblaie(t)

// balise indice
t=deblaie(/(\[\/indice])/g,t)
t=remplace_tag(/\[indice\](.+)\[\/indice\]/g,'<sub>$1</sub>',t) 
t=remblaie(t)

// balise exposant
t=deblaie(/(\[\/exposant\])/g,t)
t=remplace_tag(/\[exposant\](.+)\[\/exposant\]/g,'<sup>$1</sup>',t) 
t=remblaie(t)

// balise bleu
t=deblaie(/(\[\/couleur=bleu\])/g,t)
t=remplace_tag(/\[couleur=bleu\](.+)\[\/couleur\]/g,'<span style="color:blue;">$1</span>',t) 
t=remblaie(t)

// balise rouge
t=deblaie(/(\[\/couleur=rouge\])/g,t)
t=remplace_tag(/\[couleur=rouge\](.+)\[\/couleur\]/g,'<span style="color:red;">$1</span>',t)
t=remblaie(t)

// balise vert
t=deblaie(/(\[\/couleur=vert\])/g,t)
t=remplace_tag(/\[couleur=vert\](.+)\[\/couleur\]/g,'<span style="color:green;">$1</span>',t) 
t=remblaie(t)

// balise petite
t=deblaie(/(\[\/taille=petite\])/g,t)
t=remplace_tag(/\[taille=petite\](.+)\[\/taille\]/g,'<span style="font-size:0.8em;">$1</span>',t) 
t=remblaie(t)

// balise moyenne
t=deblaie(/(\[\/taille=moyenne\])/g,t)
t=remplace_tag(/\[taille=moyenne\](.+)\[\/taille\]/g,'<span style="font-size:1.0em;">$1</span>',t) 
t=remblaie(t)

// balise grande
t=deblaie(/(\[\/taille=grande\])/g,t)
t=remplace_tag(/\[taille=grande\](.+)\[\/taille\]/g,'<span style="font-size:1.2em;">$1</span>',t) 
t=remblaie(t)

// balise très grande
t=deblaie(/(\[\/taille=tresgrande\])/g,t)
t=remplace_tag(/\[taille=tresgrande\](.+)\[\/taille\]/g,'<span style="font-size:1.5em;">$1</span>',t) 
t=remblaie(t)

// balise droite
t=deblaie(/(\[\/align=droite\])/g,t)
t=remplace_tag(/\[align=droite\](.+)\[\/align\]/g,'<div style="text-align:right;">$1</div>',t) 
t=remblaie(t)

// balise centre
t=deblaie(/(\[\/align=centre\])/g,t)
t=remplace_tag(/\[align=centre\](.+)\[\/align\]/g,'<div style="text-align:center;">$1</div>',t) 
t=remblaie(t)

// balise justifie
t=deblaie(/(\[\/align=justifie\])/g,t)
t=remplace_tag(/\[align=justifie\](.+)\[\/align\]/g,'<div style="text-align:justify;">$1</div>',t) 
t=remblaie(t)

// balise Image
t=deblaie(/(\[\/image\])/g,t)
t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t)
t=remblaie(t)

// balise URL   
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$1</a>',t)
t=remblaie(t)

// smilies Smile <!-- on oublie pas les smilies -->
t=remplace_tag(/fleche/g,'<img src="images/fleche.png" />',t) 
t=remplace_tag(/:D/g,'<img src="style/smiley/biggrin.gif" />',t) 
t=remplace_tag(/heink/g,'<img src="style/smiley/blink.gif" />',t)
t=remplace_tag(/blush/g,'<img src="style/smiley/blush.gif" />',t)
t=remplace_tag(/clindoeil/g,'<img src="style/smiley/clindoeil.gif" />',t)
 t=remplace_tag(/cool/g,'<img src="style/smiley/cool.gif" />',t)
 t=remplace_tag(/crying/g,'<img src="style/smiley/crying.gif" />',t)
 t=remplace_tag(/devil/g,'<img src="style/smiley/devil.gif" />',t)
 t=remplace_tag(/dry/g,'<img src="style/smiley/dry.gif" />',t)
 t=remplace_tag(/huh/g,'<img src="style/smiley/huh.gif" />',t)
 t=remplace_tag(/laugh/g,'<img src="style/smiley/laugh.gif" />',t)
 t=remplace_tag(/mad/g,'<img src="style/smiley/mad.gif" />',t)
 t=remplace_tag(/ohmy/g,'<img src="style/smiley/ohmy.gif" />',t)
 t=remplace_tag(/orginal/g,'<img src="style/smiley/orginal.gif" />',t)
 t=remplace_tag(/oups/g,'<img src="style/smiley/oups.jpg" />',t)
 t=remplace_tag(/pinch/g,'<img src="style/smiley/pinch.gif" />',t)
 t=remplace_tag(/rolleyes/g,'<img src="style/smiley/rolleyes.gif" />',t)
 t=remplace_tag(/sad/g,'<img src="style/smiley/sad.gif" />',t)
 t=remplace_tag(/sleep/g,'<img src="style/smiley/sleep.gif" />',t)
 t=remplace_tag(/tongue/g,'<img src="style/smiley/tongue.gif" />',t)
 t=remplace_tag(/unsure/g,'<img src="style/smiley/unsure.gif" />',t)
 t=remplace_tag(/w00t/g,'<img src="style/smiley/w00t.gif" />',t)
 t=remplace_tag(/whistling/g,'<img src="style/smiley/whistling.gif" />',t)
 t=remblaie(t)
t=unkhol(t)
t=nl2br(t)

return t
}
   
  
  
<!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
function deblaie(reg,t) {
textarea=new String(t);
return textarea.replace(reg,'$1\n');
}
function remblaie(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
textarea=new String(t);
return textarea.replace(reg,rep);
}
function nl2br(t) {
textarea=new String(t);
return textarea.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
textarea=new String(t);
return textarea.replace(/\n/g,ptag);
}
function unkhol(t) {
textarea=new String(t);
return textarea.replace(new RegExp(ptag,'g'),'\n');
}   