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(/(\[\/b\])/g,t)
t=remplace_tag(/\[b\](.+)\[\/b\]/g,'<b>$1</b>',t) 
t=remblaie(t)

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

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

//balise couleur
t=deblaie(/(\[\/color=\])/g,t)
t=remplace_tag(/\[color=(.+)\](.+)\[\/color\]/g,'<font color="$1">$2</font>',t) 
t=remblaie(t)

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

//URL
t=deblaie(/(\[\/url\])/g,t)
t=remplace_tag(/\[url\](.+)\[\/url\]/g,'<a href="$1">$1</a>',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');
}   