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 :

If Else ou autre chose ?


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut If Else ou autre chose ?
    Bonsoir tout le monde,
    j'aurais besoin de votre aide pour un script d'interpetation de balise bbcode en balise xhtml.
    J'ai créé des fonctions qui permettent de mettre en gras un texte
    par exemple, [ gras ] Ok [ /gras] devient Ok au visionnage.
    un saut de ligne "\n" est remplacé par un "<br>" pour un saut de ligne. Et ceci me crée un problème !
    Je vous explique : avec un bouton qui insère le texte suivant;
    [ tableau ]
    [ ligne ]
    [ cellule ] Texte [ /cellule ]
    [ /ligne ]
    [ /tableau ]
    le texte est inséré dans le textarea en respectant les sauts de ligne pour une meilleure organisation du texte pour le client mais je me trouve bloqué au niveau des sauts de ligne. En effet, le bbcode ci-dessous est interpreté de cette façon dans mon code :
    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
     
    //Tableau
    t=deblaie(/(\[\/tableau\])/g,t)
    t=remplace_tag(/\[tableau\](.+)\[\/tableau\]/g,'<table>$1</table>',t)
    t=remblaie(t)
     
    //Ligne
    t=deblaie(/(\[\/ligne\])/g,t)
    t=remplace_tag(/\[ligne\](.+)\[\/ligne\]/g,'<tr>$1</tr>',t)
    t=remblaie(t)
     
    //Cellule
    t=deblaie(/(\[\/cellule\])/g,t)
    t=remplace_tag(/\[cellule\](.+)\[\/cellule\]/g,'<td>$1</td>',t)
    t=remblaie(t)
    donc
    [ tableau ] [ /tableau ] est remplacé par <table></table>
    [ ligne ] [ /ligne ] par <tr></tr>
    [ cellule ] [ /cellule ] par <td></td>
    Vous me direz que tout va bien ! Mais ce n'est pas tout à fait ça !
    car, un saut de ligne est remplacé par un <br>
    le texte html devient
    <table><br>
    <tr><br>
    <td>Texte</td><br>
    </tr><br>
    </table>
    et ça déforme complétement le tableau !
    Cependant si je fais ceci :
    [ tableau ][ ligne ][ cellule ] Texte [ /cellule ][ /ligne ][ /tableau ]
    Le texte interpreté en html est le suivant :
    <table><tr><td>Texte</td></tr></table>

    et donc, tout va bien si c'est en 1 seule ligne. Mais le client sera perturbé par un code en une seule ligne s'il ne connait pas bien le html et surtout s'il veut créer un grand tableau !

    En conclusion, j'aurais besoin de votre aide pour faire une condition et de vérifier si nous nous trouvons entre [ tableau ] et [ /tableau ] et annuler les sauts de ligne ! Sinon, les sauts de ligne restent valides.

    Ps : voici la fonction qui permet de convertir le saut de ligne en html :
    function nl2br(t) {
    texte=new String(t);
    return texte.replace(/\n/g,'<br>');
    }


    Je remercie celle/celui qui m'aidera. Je cherche depuis 2 jours mais sans succès car je n'y connais absolument rien en javascript.

    Merci encore et bonne soirée

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ben une regExp qui remplace tous les retours lignes entre le balises bbcode par br qui devront êtres interprétés en html ...
    Parcontre pour l'expression je suis null enregExp )
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    Quel genre de Regexp?
    Je n'y connais pas grand chose mais cependant, j'ai une petite idée :
    si on trouve [ tableau ] dans le texte, on désactive les sauts de ligne.
    Si on se retrouve avec [ /tableau ] dans le texte, on réactive les sauts de ligne.
    Je saurais le faire en php mais javascript m'est totalement inconnu.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    non plus simplement un pattern de regExp genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [/tableau]  ... retourligne  ... [tableau]
    ou sans tableau à la fin pour le dernier ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    c'est quoi un pattern ? Regexp est équivalent à Regex en php ?
    Il faudrait que tu utilises des mots moins scientifiques parce que je suis un novice
    et tu peux me donner un cas concret de ton exemple parce que je ne comprends pas

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    regExp c'est une expression régulière ...
    un pattern comme son nom l'indique en anglais ... c'est un motif ....
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    ah ok, merci.
    Mais tu ne sais pas ce que je pourrais faire ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Demande de l'aide à quelqu'un qui maitrise les regExp ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    Mais je ne connais personne qui s'y connaisse.
    Si je suis là, c'est pour que quelqu'un d'assez gentil, prenne 5 minutes à m'expliquer
    merciiiiiiii

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Attendons ensemble ...
    Tu veux un m&m ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    Même avec des regExp ca risque d'etre super chaud.

    Car on peut imager qu'une cellule d'un tableau contienne elle aussi un tableau, ...

    Faudrait plutot faire un parser, un analyseur syntaxique.

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    Non mais je n'autorise qu'un seul tableau.
    Le client se devra de se contenter de faire un tableau.
    Quand je vois tous les problèmes créés par javascript, parfois, je me dis que
    je devrais aussi utiliser le php pour la prévisualisation des messages pour mon forum.
    Un peu comme la plupart des forums:phpbb, punbb, ipb(je suppose), vbulletin(je suppose aussi car jamais eu le script)
    Mais bon, j'ai voulu un peu "innover" et ne pas faire comme tous les autres forums donc je me suis dit qu'avec le javascript, ça donnerait une allure meilleure. Mais si j'ai pas le choix, je me contenterais d'un modèle de forum classique

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Par défaut
    je me permets de faire remonter le topic

Discussions similaires

  1. [XSL] replace un espace? ou est ce autre chose?
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/12/2005, 19h17
  2. Jointure ou autre chose ?...
    Par tcherito dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/11/2005, 11h12
  3. l'info c'est bien, appliqué à autre chose, c'est mieux!
    Par bubuchanwa dans le forum Etudes
    Réponses: 30
    Dernier message: 13/07/2005, 19h08
  4. Convertir une image PNM en autre chose ...
    Par mattmarttigan dans le forum C
    Réponses: 9
    Dernier message: 09/02/2005, 20h34
  5. [langage] connaissez-vous autre chose que -d
    Par Sébastien dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 20h13

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