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 :

<br /> et BBCode


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut <br /> et BBCode
    Bonjour,

    Je voudrais remplacer dans mon forum en PHP tous les retours à la ligne par une balise : <br />. Grâce à la fonction nl2br() ce n'est pas bien difficile. Cependant, je ne voudrais pas pour autant que s'il existe 4 retours à la ligne, PHP me les remplace par 4 balises <br /> à la suite...

    Avez-vous une idée ?

  2. #2
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Bonsoir,

    Un peu bateau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (str_pos($news,'<br /><br />')!==false)
    str_replace('<br /><br />','<br />',$news);
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    Merci pour m'avoir répondu aussi vite.
    J'ai une erreur par contre, avec le fonction str_pos(). Elle ne semble pas définie en fait.

  4. #4
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    oups, désolé, il n'y a pas de _ dans strpos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (strpos($news,'<br /><br />')!==false)
    str_replace('<br /><br />','<br />',$news);
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    C'est louche car à vu de nez ce code devrait fonctionner, mais seul les conversions en <br /> ont lieu. J'ai donc essayé de bidouiller un peu mais rien n'y fait. Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$chaine = nl2br($chaine);
     
    	while (strpos($chaine,'<br /><br />')!==false)
    	{
    		echo'OK';
    		str_replace('<br /><br />','<br />',$chaine);
    	}

  6. #6
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    De fait, ça eu du fonctionner si j'avais été attentif


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $chaine = nl2br($chaine);
    while (strpos($chaine,"<br />\n<br />")!==false)
    {
    	$chaine = str_replace("<br />\n<br />","<br />",$chaine);
    }
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    Bien pensé pour le retour à la ligne, je viens effectivement de remarquer que les <br /> sont tous à la ligne.

    Je m'escuse d'être un peu lourd sur un problème aussi simplet, mais chez moi ça ne fonctionne toujours pas. Je ne sais pas si vous avez testé votre code. J'ai encore essayé de modifier mais rien n'y fait. Même cette version un peu modifié n'y fait rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	$chaine = nl2br($chaine);
    	while (strpos($chaine,'<br />'."\n".'<br />')!==false)
    	{
    		echo'OK';
    		$chaine = str_replace('<br />'."\n".'<br />','<br />',$chaine);
    	}
    En fait le comble, c'est que la chaîne OK ne s'affiche jamais. Donc apparemment, bien que j'ai plusieurs <br /> à la suite, je dois avoir quelque chose entre eux qui doit parasiter l'ensemble.

    Compte tenu du fait que je travaille sur Mac OS X, je me demande s'il ne serait pas utile d'utiliser une sorte de regexp du style : s'il existe plus d'un <br /> entre lesquelles on a deux caractères maxi, alors on remplace l'ensemble par un seul retour chariot.

Discussions similaires

  1. bbcode
    Par cbcb dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 8
    Dernier message: 18/12/2005, 09h51
  2. [PHP-JS] bbcode (?)
    Par themis121 dans le forum Langage
    Réponses: 15
    Dernier message: 12/10/2005, 21h53
  3. [RegEx] BBcode Image
    Par KaptainouK dans le forum Langage
    Réponses: 3
    Dernier message: 16/09/2005, 19h05
  4. Recherche parseur BBCode.
    Par castaka dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 09/06/2005, 14h08
  5. Fermeture BBcode
    Par golgot13 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/12/2004, 07h19

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