05-24-2008, 06:41 PM
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 :
<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>