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 :

Remplacements par expressions régulières [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Points : 82
    Points
    82
    Par défaut Remplacements par expressions régulières
    Bonjour,

    j ai ce texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $str = "by [a=Mathias Schaffhäuser].  [ b]Labelcode: LC 10695[ /b]  ";
    je voudrais obtenir

    by Mathias Schaffhäuser. Labelcode: LC 10695

    j'utilise cette expression mais sans grand succes :

    $str = trim(ereg_replace("\[(.*)\]","",$str));

    si vous pouviez me guider ce serait cool

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Points : 82
    Points
    82
    Par défaut
    j ai trouve,

    je fais peut etre un peut trop d instruction a la suite mais ca marche,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    $pattern = '\[/[^\]]*\]';
    $str = trim(ereg_replace($pattern,"",$str));
     
    $pattern = '\[[^\]]*\]';
    $str = trim(ereg_replace($pattern,"",$str));
     
    $pattern = '\[[^\]]*=';
    $str = trim(ereg_replace($pattern,"",$str));
     
    $pattern = ']';
    $str = trim(str_replace($pattern,"",$str));

  3. #3
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    salut,


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $subject = "by [a=Mathias Schaffhäuser].  [ b]Labelcode: LC 10695[ /b]  ";
    		$pattern = '`(\[a=|\[ ?b])(?(1)([^]]+)|([^[]+))(?<![b])(]|\[ ?/b])`i'; 
    		$replacement = '${2}';
    		echo preg_replace($pattern, $replacement, $subject);
     
    // by Mathias Schaffhäuser. Labelcode: LC 10695

    je le trouve un peu compliqué le masque mais ça l'air de fonctionner.

    ps : bémole le masque tel quel fonctionne avec balise a ou b ...
    Zend PHP5 Certification
    MySQL 4 Core Certification

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

Discussions similaires

  1. recherche par expression régulière
    Par guiyomh dans le forum C++
    Réponses: 2
    Dernier message: 29/06/2008, 12h14
  2. [RegEx] Recherche sur mots-clés par expression régulière
    Par zaknaou dans le forum Langage
    Réponses: 4
    Dernier message: 18/03/2008, 14h04
  3. Extraction de couleur CSS par expression régulière
    Par frochard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2007, 16h39
  4. [RegEx] Extraction d'une partie d'une URL par expression régulière
    Par Maxbenji dans le forum Langage
    Réponses: 2
    Dernier message: 16/01/2007, 22h26
  5. [XSLT] Child par expression régulière
    Par fredraoul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 08/02/2006, 12h43

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