24-05-2008, 06:41 PM
(Modification du message : 13-07-2008, 01:10 AM par Sephi-Chan.)
Bonjour à tous,
Je suis en train de bosser sur un système de prévisualisation en Javascript à l'aide des RegExp. Mais seulement il ne m'applique que la transformation qu'une fois
(j'imagine qu'il doit manquer un parmetre dans mon regExp mais je vois pas ou ...)
Voila mon code :
Je suis en train de bosser sur un système de prévisualisation en Javascript à l'aide des RegExp. Mais seulement il ne m'applique que la transformation qu'une fois
(j'imagine qu'il doit manquer un parmetre dans mon regExp mais je vois pas ou ...)
Voila mon code :
Code PHP :
<?php
<script language="Javascript">
function BBcode(){
var string = document.getElementById('txt').value;
var gras = new RegExp("\\[g\\](.+)\\[/g\\]", "gi");
var italique = new RegExp("\\[i\\](.+)\\[/i\\]", "gi");
var image = new RegExp("\\[img\\](.+)\\[/img\\]", "gi");
var url_1 = new RegExp("\\[url\\](.+)\\[/url\\]", "gi");
var url_2 = new RegExp("\\[url=(.+)\\](.+)\\[/url\\]", "gi");
var couleurs = new RegExp("\\[c=(.+)\\](.+)\\[/c\\]", "gi");
var sautdelignes = new RegExp("\n", "gi");
var spoiler = new RegExp("\\[spoiler\\](.+)\\[/spoiler\\]")
str = string.replace(gras, "<strong>$1</strong>");
str = str.replace(italique, "<em>$1</em>");
str = str.replace(image, "<img src=\"$1\">");
str = str.replace(url_1, "<a href=\"$1\">$1</a>");
str = str.replace(url_2, "<a href=\"$1\">$2</a>");
str = str.replace(couleurs, "<span style=\"color : $1\">$2</span>");
str = str.replace(sautdelignes, "<br />");
if(string.length > 500){
if(confirm('Votre chaine fais plus de 500 caractères, le reste ne sera pas enregistré, voulez vous quand même voir la prévisulation ?')){
document.getElementById('previewer').innerHTML = str;
}
else{
/*On ne montre pas la prévisualition ... */
document.getElementById('previewer').innerHTML = '<em>Message trop long</em>';
}
}
else{
document.getElementById('previewer').innerHTML = str;
}
}
</script>