IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Quelqu'un a-t'il le code de l'editeur de texte phpBB


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut Quelqu'un a-t'il le code de l'editeur de texte phpBB
    Bonjour,

    Je suis une tâche en javascript, et en plus j'aime pas ce langage. Ceci explique sans-doute cela.
    Manque de pot là j'ai besoin d'un éditeur de texte pour le forum que je termine.

    Comme celui de phpBB me semble convenable je voudrais le récupérer.

    J'ai regardé dans le code phpBB mais je nage complètement, en plus c'est plein de javascript partout, ça me file des boutons sur les mains.

    Auriez-vous l'amabilité de me filer le code net et clair qui permette d'un coup d'un seul d'avoir un bel éditeur de texte sur mon forum ?




    Nan c'est pas de la fainéantise.

  2. #2
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Pourquoi ne pas prendre un editeur de texte WYSIWYG?

    Sinon je peut te passer le code que j'ai fait (type PHPBB) pour ceux qui utilise Opéra ou netscape (car FCK ne marche pas pour ces navigateurs).

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Non j'y ai pensé mais je n'aime pas trop les éditeurs wysiwig pour les forums.

    Je veux un truc vraiment simple, du genre l'éditeur qu'il y avait ici avant cette version (pleins de trucs géniaux dans cette version de développez mais j'aime pas trop cet éditeur pour l'instant).

    A la rigueur la seule chose vraiment utile que je cherche c'est la fonction classique qui permet de citer un passage en l'entourant des balises [code][\code] (compatible avec les principaux navigateurs bien sur).

    Même la mise en gras, italique, tout ça, je m'en fiche à la rigueur.

  4. #4
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Pour ca il faut voir le traitement de texte avec les expression régulière.

    Pour info voila un petit editeur js fait maison pour tout les navigateurs.

    Apres pour quote et compgnie c'est pas dure tu as juste a creer de nouvelle balise. Le truc apres c'est de faire des fonction php d'affichage qui interprete ces balise (c'est la que les REGEX interviennent).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
     
    function BBcode(balise,form,textarea)
    {
        switch (navigator.appName)   
        { 
            case "Microsoft Internet Explorer": 
                var haha=document.selection.createRange().text;    
     
                switch(balise)
                {
                    case 'color':
                        liste = document.getElementById('color');
                        A = liste.options[liste.selectedIndex].style.color;
                        liste.options[0].selected = true;
                        if(A=='')
                        {
                            insertion="";
                        }
                        else
                        {
                            insertion="["+balise+"="+A+"]"+haha+"[/"+balise+"]";
                        }
                    break;
                    case 'taille':
                        liste = document.getElementById('taille');
                        A = liste.options[liste.selectedIndex].firstChild.nodeValue;
                        liste.options[0].selected = true;
     
                        if(A=='Taille')
                        {
                            insertion="";                
                        }
                        else
                        {                
                            switch(A)
                            {            
                                case 'Petit':
                                A='x-small';
                                break;
                                case 'Gros':
                                A='x-large';
                                break;
                            }
                            insertion="["+balise+"="+A+"]"+haha+"[/"+balise+"]";            
                        }
                    break;
                    case 'IMG':
                        var haha=prompt("IMG=","http://");
                    break;
                    case 'URL':
                        var URL=prompt("Adresse du lien:","http://");
                        var Titre=prompt("Titre du lien:","");
                        var insertion="["+balise+"=\""+URL+"\"]"+Titre+"[/"+balise+"]";
                    break;
                    case 'b':
                        var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                    break;
                    case 'i':
                        var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                    break;
                    case 'u':
                        var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                    break;
                    case 'li':
                        var insertion="["+balise+"]"+haha+"[/"+balise+"]";
                    break;
                    default:
                        var insertion=balise;
                    break;
                }
     
                with(document.forms[form].elements[textarea]) 
                {
                    focus();
                }
                var sel=document.selection.createRange();
                sel.text=insertion;        
            break;
            case  "Netscape": 
                with(document.forms[form].elements[textarea]) 
                {
                    var AvantB = value.substring( 0, selectionStart );
                    var B = value.substring( selectionStart, selectionEnd );
                    var ApresB = value.substring( selectionEnd, selectionEnd +100000);
                } 
                switch(balise)
                {
                    case 'color':
                        A=document.forms[form].color.value;
                        if(A=='Noir')
                        {
                            B="";            
                        }
                        else
                        {                
                            switch(A)
                            {
                                case 'Rouge':
                                A='red';
                                break;
                                case 'Bleu':
                                A='blue';
                                break;
                                case 'Vert':
                                A='green';
                                break;                
                            }
                            B="["+balise+"="+A+"]"+B+"[/"+balise+"]";
                            liste = document.getElementById('color');
                            liste.options[0].selected = true;
                        }
                    break;
                    case 'taille':
                        A=document.forms[form].taille.value;
                        if(A=='Taille')
                        {
                            B="";
                        }
                        else
                        {
                            switch(A)
                            {
                                case 'Petit':
                                A='x-small';
                                break;
     
                                case 'Gros':
                                A='x-large';
                                break;
                            }
                            B="["+balise+"="+A+"]"+B+"[/"+balise+"]";
                            liste = document.getElementById('taille');
                            liste.options[0].selected = true;
                        }
                    break;
                    case 'IMG':
                        var B=prompt("IMG=","http://");        
                        B="["+balise+"\]"+B+"[/"+balise+"]";    
                    break;
                    case 'URL':
                        var URL=prompt("Adresse du lien:","http://");
                        var Titre=prompt("Titre du lien:","");
                        B="["+balise+"=\""+URL+"\"]"+Titre+"[/"+balise+"]";
                    break;
                    case 'u':
                        B="["+balise+"]"+B+"[/"+balise+"]";
                    break;
                    case 'i':
                        B="["+balise+"]"+B+"[/"+balise+"]";
                    break;
                    case 'b':
                        B="["+balise+"]"+B+"[/"+balise+"]";
                    break;
                    case 'li':
                        B="["+balise+"]"+B+"[/"+balise+"]";
                    break;
                    default:
                        B=balise;
                    break;
                }            
     
                with(document.forms[form].elements[textarea]) 
                {
                    focus();
                    value= AvantB +""+ B +""+ApresB;
                }
            break;
        }
    }

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Merci Death 83,

    Pour les expressions régulière en PHP pas de problème je sais quoi faire.

    Aurais-tu la partie html, celle avec le textarea, pour que je puisse tester ce code ? Parce que là, sans vouloir abuser, je peux pas dire que ça me parle des masses... (même si c'est très gentil à toi d'avoir bien voulu me filer tout ce code, c'est pas là la question).

    **edit**

    Déjà il faudrait que je vois tout ça fonctionner dans la page web, directement sans avoir à bidouiller le code du tout.
    Après je le recopie et je viens poser les questions pour comprendre, histoire de ne quand même pas utiliser des bout de code que je ne comprend même pas.

    Mais là comme ça, la fonction elle me fait c'est effet la :

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Bon à priori je dois passer à mes boutons les évènements des fonctions.


    Quelqu'un a un exemple SVP ?

Discussions similaires

  1. quelqu'un pourrait me corriger ce code ?
    Par merry marie dans le forum Langage
    Réponses: 4
    Dernier message: 10/01/2013, 13h56
  2. incomprehension de quelques lignes d'assembleur dans du code C
    Par ultimaroms dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 06/10/2011, 19h31
  3. Fonction code behind dans l'attribut texte d'un composant
    Par Neodream dans le forum Débuter
    Réponses: 0
    Dernier message: 14/06/2010, 08h50
  4. Rediriger le résultat d'un code java dans un fichier texte
    Par ysahel dans le forum Général Java
    Réponses: 9
    Dernier message: 27/03/2009, 14h57
  5. Réponses: 2
    Dernier message: 08/11/2006, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo