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

Langage PHP Discussion :

Problème d'affichage avec mon BBCode


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Problème d'affichage avec mon BBCode
    Salut à tous,
    En ce moment, je crée mon propre BBCode et je rencontre un os pour la création d'une liste.
    En effet, quand je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <liste>
    <puce>Contenu</puce>
    <puce>Contenu</puce>
    </liste>
    Grâce à ma fonction dont voici un aperçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $chaine = preg_replace('`\<liste>(.+?)\</liste>`si','<ul>$1</ul>',$chaine); 
        $chaine = preg_replace('`\<puce>(.+?)\</puce>`si','<li>$1</li>',$chaine);
    Je devrais obtenir :
    • Contenu
    • Contenu
    Or, dans ce que j'obtiens, le deuxième élement de la liste n'a pas de petit point
    J'attends votre aide avec impatience
    @+
    Sebastien

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Sans avoir testé, je dirais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = preg_replace('`<liste>(.+)</liste>`Usi','<ul>$1</ul>',$chaine);
    $chaine = preg_replace('`<puce>(.+)</puce>`Usi','<li>$1</li>',$chaine);
    Puis-je te demander pourquoi tu as choisi les < et > au lieu des classiques [ et ] ? Tu risques d'avoir des conflits avec le HTML : c'est pour cela que les crochets sont généralement adoptés pour le BBCode.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Salut,
    J'ai essayé ton code dans ma fonction PHP mais aussi dans mon Javascript et cela ne passe pas
    En Javascript, j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // balise <liste>
     t=remplace_tag(/\<liste\>(.+)\<\/liste\>/g,'<ul>$1</ul>',t)
    // balise <puce> 
    t=remplace_tag(/\<puce\>(.+)\<\/puce\>\s*(<br \/>)?\Usi/g,'<li>$1</li><br />',t)
    Sinon, pour repondre à ta seconde question, j'ai choisi d'utiliser < et > car mes visiteurs sont très peu calés en informatique et je voulais leur simplifier au maximum la tache
    Aussi, tu remarqueras que taper < est moins long que de taper [

    @+
    Sébastien

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Ça, ça dépend du clavier... Là, je suis sur un clavier espagnol et ça se passe très bien

    Bref...

    Tiens, ça m'apprendra à pas tester !
    Ton code du départ fonctionne à merveille. Le remplacement a lieu tel que tu l'espères. Peut-être cela dépend-il de ta version de PHP ou d'un facteur externe ?

    [Edit] Concernant ton JS, je suis loin d'être spécialiste en la matière mais je pense qu'il faut mettre "Usi" à la suite de ton "g", non ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    OK
    Bon bah, c'est pas grave
    Je vais continuer mon truc ainsi et j'enleverais la liste si cela continue à ne pas fonctionner
    Je verais bien en testant en ligne si ca passe !
    Merci de ton aide, et sinon, j'aurais une deuxième petite question : quels bugs peuvent être crée à la suite de l'emploi de "<" et ">" ?
    @+
    Sébastien

Discussions similaires

  1. Problème d'affichage avec mon application
    Par Nanonnien dans le forum Android
    Réponses: 9
    Dernier message: 14/05/2014, 21h26
  2. [MySQL] Affichage de mon livre d'or
    Par emmy99 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 24/01/2008, 21h42
  3. [EasyPHP] Problème d'affichage avec mon code PHP
    Par LegioKilt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 24/11/2007, 04h13
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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