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 :

nl2br dans une portion de chaine uniquement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut nl2br dans une portion de chaine uniquement
    Bonjour, j'ai un petit problème avec les regex je n'arrive pas à appliquer une sorte de nl2br() uniquement à un morceau de code entouré de délimiteurs. En entrant dans le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    === Mon titre ===
     
    ~~
    Je vais sauter à
    la ligne
    ~~
    je voudrais avoir comme codé généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <h3>Mon titre</h3>
    <p>Je vais sauter à <br />la ligne</p>
    Je n'arrive pas à faire ces retours à la ligne automatiquement, j'ai juste ce code pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	  $body = preg_replace("#===(.+)===#", "<h3>$1</h3>", $body);
    	  $body = preg_replace("#~~(.+)~~#s", "<p>$1</p>", $body);
    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $body = trim($body); // pour les blancs de début et de fiin
    $body = preg_replace("#===(.+)===#", "<h3>$1</h3>", $body);
    $body = preg_replace('#~~(.+)~~#', "<p>$1</p>", $body);
    $body = preg_replace('#<p>(.+)(?:\n)+(.+)</p>~~#', "<p>$1<br/>$2</p>", $body);
    S'il y a plus de deux lignes, il faut utiliser des imbrications de parenthèses et de quantificateurs. Intéressant comme problème, mais j'ai faim.

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    J'ai pas pu aller manger avant de finir :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $body = trim($body); // pour les blancs de début et de fiin
    $body = preg_replace("#===(.+)===#", "<h3>$1</h3>", $body);
    preg_match('#~~(.+)~~#', , $body, $matches);
    $buffer = nl2br($matches[1]);
    $body = preg_replace('#~~(.+)~~#', $buffer, $body);

    Bon il manque un test d'existence, etc... Mais tout ça pour dire qu'il n'y a pas que les regex dans la vie.

Discussions similaires

  1. [RegEx] Regex multiples dans une portion de texte uniquement
    Par tete-jaune dans le forum Langage
    Réponses: 7
    Dernier message: 21/09/2011, 11h18
  2. [RegEx] Isoler une portion de chaine
    Par Ben-o dans le forum Langage
    Réponses: 2
    Dernier message: 01/02/2010, 15h37
  3. Réponses: 24
    Dernier message: 27/01/2009, 09h18
  4. [RegEx] Récupérer une portion de chaine délimitée par une autre chaine
    Par AnkyFive dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 08h24
  5. Executer une portion de code uniquement si le javascript est actif
    Par Rakken dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/04/2007, 10h23

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