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 :

Transformer bbcode en HTML


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut Transformer bbcode en HTML
    Bonjour ,

    Je me suis cassé la tête pendant une journée en essayant de trouver un code php qui transforme le bbcode en html, j'ai trouvé sur le net ce 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    function bb2html($text)
    {
      $bbcode = array("<", ">",
                    "[list]", "[*]", "[/list]", 
                    "[img]", "[/img]", 
                    "[b]", "[/b]", 
                    "[u]", "[/u]", 
                    "[i]", "[/i]",
                    '[color="', "[/color]",
                    "[size=\"", "[/size]",
                    '[url="', "[/url]",
                    "[mail=\"", "[/mail]",
                    "[code]", "[/code]",
                    "[quote]", "[/quote]",
                    '"]');
      $htmlcode = array("&lt;", "&gt;",
                    "<ul>", "<li>", "</ul>", 
                    "<img src=\"", "\">", 
                    "<b>", "</b>", 
                    "<u>", "</u>", 
                    "<i>", "</i>",
                    "<span style=\"color:", "</span>",
                    "<span style=\"font-size:", "</span>",
                    '<a href="', "</a>",
                    "<a href=\"mailto:", "</a>",
                    "<code>", "</code>",
                    "<table width=100% bgcolor=lightgray><tr><td bgcolor=white>", "</td></tr></table>",
                    '">');
      $newtext = str_replace($bbcode, $htmlcode, $text);
      $newtext = nl2br($newtext);//second pass
      return $newtext;
    }
    ?>
    Il semble fonctionner quand le bbcode n'est pas compliqué, mais quand il s'agit d'un bbcode du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [b:3uwl9xq8]Contents[/b:3uwl9xq8]
    Merci de m'aider à résoudre le problème !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ton code est un bête code de substitution : Il remplace l'élément du 1er tableau par son équivalent dans le 2e. Donc ça peut marcher avec n'importe quel code du moment que les tableaux sont remplis.
    Après, tout dépend ce que tu veux que le remplacement fasse...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut
    Merci Celira pour ta réponse, mais en réalité ce que je cherche à faire c'est de filtrer dans ma base de donnée les codes de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [b:3uwl9xq8]Contents[/b:3uwl9xq8]
    et les remplacer tout simplement par :


    Je crois qu'il me faut des expressions régulière php, lesquelles ? Je ne sais pas ? Merci de me fournir plus d'aide

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Faudrait que tu donne plus de précisions sur les différentes formes que peut avoir le code de la bdd à remplacer .

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut
    Les codes à transformer sont du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [url=http://adresse-url-du-site]text du lien[/url:x4wv05o1]
    [url=http://www.adresse-du-site:x4wv05o1]text du lien[/url:x4wv05o1]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [img:fs4pw55c]http://adresse-url-du-site[/img:fs4pw55c]
    //tous les codes sont du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [code:id] ----[/code:id]
    Merci de m'aider à résoudre le problème !

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Est ce que l'id doit être récupérée puis placée comme attribut dans la balise de remplacement, ou doit il être tout simplement ignoré?

    Autre question: est ce que les balises bbcodes peuvent être imbriquées?
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #7
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut
    elle doit être simplement ignorée et supprimé !

    par exemple le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [url=http://www.adresse-du-site:x4wv05o1]text du lien[/url:x4wv05o1]
    doit être remplacer par le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=http://www.adresse-du-site>text du lien</a>
    c.a.d le code x4wv05o1 doit être supprimé


    Merci beaucoup pour l'aide CosmoKnacki !

  8. #8
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut
    Bonsoir à tous !

    Les milliers de spécialistes ici ! Pourtant, personne ne veux m'aider dans ce simple truc !

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    et de ton coté, tu n'as fait AUCUNE recherche depuis le 24/11 ???

    "Des millions de neurones ! Pourtant, aucun ne s'active ?!?"...

    ou recherche : "convertir bbcode html"

    On tombe notamment sur cette discussion : conversion BBCODE a HTML avec balises imbriquées

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Et aussi Comment parser un bbcode ?

    Quelque soit la façon dont tu t'y prends, il n'y a pas 36000 solutions : il faut parser chaque expression possible une par une, pour la remplacer par son équivalent HTML.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre régulier
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Points : 123
    Points
    123
    Par défaut
    Merci à vous tous je vais voir les liens et me debrouiller

Discussions similaires

  1. [Traitement d'image] Transformer un fichier html en Gif ou jpg
    Par PrinceMaster77 dans le forum Webdesign & Ergonomie
    Réponses: 6
    Dernier message: 03/08/2006, 13h20
  2. Convertir du BBcode en HTML
    Par psychoBob dans le forum Langage
    Réponses: 1
    Dernier message: 20/05/2006, 15h57
  3. [TP] Transformation de fichiers HTML
    Par rogerone dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 08/11/2005, 15h26
  4. [C#] Transformer une Page HTML en document Word
    Par bolo dans le forum ASP.NET
    Réponses: 13
    Dernier message: 07/11/2005, 17h28
  5. Transformation xml + xsl -> HTML via PHP
    Par petit-ourson dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/10/2003, 22h42

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