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 coché la case d'aperçu automatique -->
}
function code_to_html(t) {
t=nl2khol(t)
// balise Gras <!-- on lui dit que telle balise correspond à tel code 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 Citation
t=deblaie(/(\[\/citation\])/g,t)
t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t)
t=remblaie(t)
 
// balise souligner
t=deblaie(/(\[\/souligner\])/g,t)
t=remplace_tag(/\[souligner\](.+)\[\/souligner\]/g,'<u>$1</u>',t)
t=remblaie(t)

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

// balise liste
t=deblaie(/(\[\/liste\])/g,t)
t=remplace_tag(/\[liste\](.+)\[\/liste\]/g,'<ul style="margin-top: -20px;">$1</ul>',t)
t=remblaie(t)

// balise liste_nbre
t=deblaie(/(\[\/liste_nbre\])/g,t)
t=remplace_tag(/\[liste_nbre\](.+)\[\/liste_nbre\]/g,'<ol style="margin-top: -20px;">$1</ol>',t)
t=remblaie(t)

// balise puce
t=deblaie(/(\[\/puce\])/g,t)
t=remplace_tag(/\[puce\](.+)\[\/puce\]/g,'<li style="margin-top: -20px;">$1</li>',t)
t=remblaie(t)

// balise puce_nb
t=deblaie(/(\[\/puce_nb\])/g,t)
t=remplace_tag(/\[puce_nb\](.+)\[\/puce_nb\]/g,'<li style="margin-top: -20px;">$1</li>',t)
t=remblaie(t)

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

// balise justify
t=deblaie(/(\[\/justify\])/g,t)
t=remplace_tag(/\[justify\](.+)\[\/justify\]/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" alt="" />',t)
t=remblaie(t)

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

// balise Couleur
t=deblaie(/(\[\/color\])/g,t)
t=remplace_tag(/\[color=([\s\S]*?)\](.+)\[\/color\]/g,'<span style="color: $1 ;">$2</span>',t)
t=remblaie(t)
 
// smilies Smile <!-- on oublie pas les smilies ! Car Malo adooooore les smileys ! -->
t=remplace_tag(/;\)/g,'<img src="../design/images/smileys/;).gif" alt="" />',t)
t=remplace_tag(/^^/g,'<img src="../design/images/smileys/^^.gif" alt="" />',t)
t=remplace_tag(/=0/g,'<img src="../design/images/smileys/=o.gif" alt="" />',t)
t=remplace_tag(/=\(/g,'<img src="../design/images/smileys/=(.gif" alt="" />',t)
t=remplace_tag(/=\)/g,'<img src="../design/images/smileys/=).gif" alt="" />',t)
t=remplace_tag(/=D/g,'<img src="../design/images/smileys/=D.gif" alt="" />',t)
t=remplace_tag(/=DD/g,'<img src="../design/images/smileys/=DD.gif" alt="" />',t)
t=remplace_tag(/=DDD/g,'<img src="../design/images/smileys/=DDD.gif" alt="" />',t)
t=remplace_tag(/=S/g,'<img src="../design/images/smileys/=S.gif" alt="" />',t)
t=remplace_tag(/0.o/g,'<img src="../design/images/smileys/0.o.gif" alt="" />',t)
t=remplace_tag(/CacA/g,'<img src="../design/images/smileys/caca.gif" alt="" />',t)
t=remplace_tag(/CigaR/g,'<img src="../design/images/smileys/cigar.gif" alt="" />',t)
t=remplace_tag(/FoU/g,'<img src="../design/images/smileys/fou.gif" alt="" />',t)
t=remplace_tag(/GreaT/g,'<img src="../design/images/smileys/great.gif" alt="" />',t)
t=remplace_tag(/LanguE/g,'<img src="../design/images/smileys/langue.gif" alt="" />',t)
t=remplace_tag(/LechE/g,'<img src="../design/images/smileys/leche-cul.gif" alt="" />',t)
t=remplace_tag(/LovE/g,'<img src="../design/images/smileys/love.gif" alt="" />',t)
t=remplace_tag(/LoveiT/g,'<img src="../design/images/smileys/love-it.gif" alt="" />',t)
t=remplace_tag(/NoN/g,'<img src="../design/images/smileys/non.gif" alt="" />',t)
t=remplace_tag(/OkeY/g,'<img src="../design/images/smileys/ok.gif" alt="" />',t)
t=remplace_tag(/OupS/g,'<img src="../design/images/smileys/oups.gif" alt="" />',t)
t=remplace_tag(/PartY/g,'<img src="../design/images/smileys/party.gif" alt="" />',t)
t=remplace_tag(/RiP/g,'<img src="../design/images/smileys/rip.gif" alt="" />',t)
t=remplace_tag(/SifflE/g,'<img src="../design/images/smileys/siffle.gif" alt="" />',t)
t=remplace_tag(/SniF/g,'<img src="../design/images/smileys/snif.gif" alt="" />',t)
t=remplace_tag(/Star/g,'<img src="../design/images/smileys/star.gif" alt="" />',t)
t=remplace_tag(/UnlovE/g,'<img src="../design/images/smileys/unlove.gif" alt="" />',t)
t=remplace_tag(/WC/g,'<img src="../design/images/smileys/wc.gif" alt="" />',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');
}
