Partage
  • Partager sur Facebook
  • Partager sur Twitter

tp

problème de balises

    19 décembre 2005 à 12:26:28

    EDIT : désolé je voulais marqué tuto en titre.

    J'ai utilisé le tp creation-d-un-bbcode-et-apercu-en-direct

    J'ai rajouté quelque balise mais j'ai un gros problème avec les balises contenant un "t" elles ne veulent pas marché.
    Exemple = <taille=petit></taille>
    ou encore <centre></centre>


    Voici le code utilisé :

    Dans le header :

    <!-- bbcode -->     

    <script language="javascript" type="text/javascript" src="prev.js"></script><!-- on appelle le fichier prev.js pour faire fonctionne la prévisualisation -->
    <script language="Javascript">
    function bbcode(bbdebut, bbfin)
    {
    var input = window.document.news.newst;
    input.focus();
    /* pour IE (toujous un cas appar lui ;) )*/
    if(typeof document.selection != 'undefined')
    {
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = bbdebut + insText + bbfin;
    range = document.selection.createRange();
    if (insText.length == 0)
    {
    range.move('character', -bbfin.length);
    }
    else
    {
    range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
    }
    range.select();
    }
    /* pour les navigateurs plus récents que IE comme Firefox... */
    else if(typeof input.selectionStart != 'undefined')
    {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
    var pos;
    if (insText.length == 0)
    {
    pos = start + bbdebut.length;
    }
    else
    {
    pos = start + bbdebut.length + insText.length + bbfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
    }
    /* pour les autres navigateurs comme Netscape... */
    else
    {
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos))
    {
    pos = prompt("insertion (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length)
    {
    pos = input.value.length;
    }
    var insText = prompt("Veuillez taper le texte");
    input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
    }
    }
    function smilies(img)
    {
    window.document.news.newst.value += '' + img + '';
    }
    </script>


    Le fichier prev.js :

    var timer=0;
    var ptag=String.fromCharCode(5,6,7);
    function  previsualisation() {
    t=document.news.newst.value 
    t=code_to_html(t)
    if (document.getElementById) document.getElementById("prev").innerHTML=t
    if (document.news.auto.checked) timer=setTimeout(previsualisation,1)

    }
    function automatique() {
    if (document.news.auto.checked) previsualisation()
    }
    function code_to_html(t) {
    t=nl2khol(t)
    // balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
    t=deblaie(/(\[\/g\])/g,t)
    t=remplace_tag(/\[g\](.+)\[\/g\]/g,'<b>$1</b>',t) 
    t=remblaie(t)
             
    // balise souligne
    t=deblaie(/(\[\/s\])/g,t)
    t=remplace_tag(/\[s\](.+)\[\/s\]/g,'<u>$1</u>',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 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 Image
    t=deblaie(/(\[\/image\])/g,t)
    t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t)
    t=remblaie(t)

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

    // balise taille         
    t=deblaie(/(\[\/taille\])/g,t)
    t=remplace_tag(/\[\taille=([\d]?)\](.+)\[\/taille\]/g,'<font size="$1">$2</font>',t)
    t=remblaie(t)
                             
    // balise centr         
    t=deblaie(/(\[\/centre\])/g,t)
    t=remplace_tag(/\[\centre\](.+)\[\/centre\]/g,'<div align="center">$1</div>',t)
    t=remblaie(t)         

    // balise gauch         
    t=deblaie(/(\[\/gauche\])/g,t)
    t=remplace_tag(/\[\gauche\](.+)\[\/gauche\]/g,'<div align="left">$1</div>',t)
    t=remblaie(t)   

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

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

                         
    t=remblaie(t)
    t=unkhol(t)
    t=nl2br(t)
    return t
    }

    function deblaie(reg,t) {
    mapage=new String(t);
    return mapage.replace(reg,'$1\n');
    }
    function remblaie(t) {
    mapage=new String(t);
    return mapage.replace(/\n/g,'');
    }
    function remplace_tag(reg,rep,t) {
    mapage=new String(t);
    return mapage.replace(reg,rep);
    }
    function nl2br(t) {
    mapage=new String(t);
    return mapage.replace(/\n/g,'<br/>');
    }
    function nl2khol(t) {
    mapage=new String(t);
    return mapage.replace(/\n/g,ptag);
    }
    function unkhol(t) {
    mapage=new String(t);
    return mapage.replace(new RegExp(ptag,'g'),'\n');
    } 


    Sélectrionnner sa balise :

    <select name="taille" size="1">
                            <option selected="selected" disabled="disabled">Taille</option>
                            <option onClick = "javascript:bbcode('[taille=1]', '[/h]');return(false)">Très très petit</option>
                            <option onClick = "javascript:bbcode('[taille=2]', '[/h]');return(false)">Très petit</option>
                            <option onClick = "javascript:bbcode('[taille=3]', '[/h]');return(false)">Petit</option>
                            <option onClick = "javascript:bbcode('[taille=5]', '[/h]');return(false)">Gros</option>
                            <option onClick = "javascript:bbcode('[taille=6]', '[/h]');return(false)">Très gros</option>
                            <option onClick = "javascript:bbcode('[taille=7]', '[/h]');return(false)">Très très gros</option>
                    </select>



    Merci de m'aider
    • Partager sur Facebook
    • Partager sur Twitter

    tp

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown