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 :

Preg_match -> objectif bbcode ! [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 300
    Par défaut Preg_match -> objectif bbcode !
    Bonjour,

    J'applique la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace('!\[p\](.+?)\[/p\]!', '<p>$1</p>', $text);
    Mon texte de base est par exemple:
    [p]
    test
    [/p]

    Cela ne fonctionne pas ! Il me faut:
    [p]test[/p] (donc tout sur une ligne)

    Et cela m'est très problèmatique, car je ne saisie pas sur une ligne tout un texte ! (je n'applique non plus pas la fonction nl2br())

    Y a t-il une possibilité pour tout mettre sur une ligne automatiquement ?
    (ou simplement une autre solution)

    Je pense que déjà plusieurs d'entre vous on dû être confronté à se problème et j'espère que vous voudrez bien m'aider en me transmettant un peu de ce savoir ! Merci.

  2. #2
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Hello,

    il te manque deux modifieurs : !\[p\](.+?)\[/p\]!Us


    Citation de la doc :
    s (PCRE_DOTALL)

    Avec cette option, le méta-caractère point (.) remplace n'importe quel caractère, y compris les nouvelles lignes. Sans cette option, le caractère point ne remplace pas les nouvelles lignes. Cette option est équivalente à l'option Perl /s. Une classe de caractères négative telle que [^a] acceptera toujours les caractères de nouvelles lignes, indépendamment de cette option.


    U (PCRE_UNGREEDY)

    Cette option inverse la tendance à la gourmandise des expressions rationnelles. Vous pouvez aussi inverser cette tendance au coup par coup avec un ?. De même, si cette option est activée, le ? rendra gourmand une séquence. Cette option n'est pas compatible avec Perl. Elle peut aussi être mise dans le masque avec l'option ?U dans le pattern ou par un point d'interrogation avant le quantifieur (.e.g. .*?).
    Et bon courage pour la suite

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 300
    Par défaut
    Merci, ça fonctionne à merveille !!!!
    Impeccable !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] bbcode (?)
    Par themis121 dans le forum Langage
    Réponses: 15
    Dernier message: 12/10/2005, 21h53
  2. [RegEx] BBcode Image
    Par KaptainouK dans le forum Langage
    Réponses: 3
    Dernier message: 16/09/2005, 19h05
  3. Recherche parseur BBCode.
    Par castaka dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 09/06/2005, 14h08
  4. 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