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 :

Recherche de texte entre crochets [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 52
    Points
    52
    Par défaut Recherche de texte entre crochets
    Bonjour, j'ai un petit problème de regex, dans un preg_replace, je voudrais selectionner tout ce qui se trouve entre crochet afin de l'effacer, voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$patterns = array();
    				$patterns[] = '#/\[+\]/#';
    				$replacements = array();
    				$replacements[] = '';
    				$rep['titre'] = preg_replace($patterns, $replacements, $subject);

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    On utilise une classe négative.

    [^\]] N'importe quel caractère hormis ]
    * (quantificateur) = qu'il y en ai un, plusieurs ou pas du tout.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Merci pour ton aide malheureusement, ce code me donne une erreur, et le code efface completement texte, mon texte est du genre : [balise]texte[balise][balise], et j'aimerai enleve les crochet et leur contenu.

    Mon erreur : preg_replace() : compilation failled : missing terminating ] FOR character class at offset 9

  4. #4
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Bizarre, chez moi ça fonctionne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $subject="1 [abc] 2 [def] 3 [ghi] 4 [klm] 5";
     
    $rep = array();
    $patterns = array();
    $replacements = array();
     
    $patterns[] = '#\[[^\]]*\]#';
    $replacements[] = '';
    $rep['titre'] = preg_replace($patterns, $replacements, $subject);
     
    echo $rep['titre']; // 1  2  3  4  5
    Tu n'as pas d'autres motifs dans le tableau $patterns ?

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Je n'ai pas d'espace dans ma variable, j'ai in autre tableau pattern declaré et utilise au dessus, je testerais en changeant les noms des variable, des que j'aurais acces a mon code, merci de ton aide.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    après plusieurs heure de recherche cette nuit, je viens de voir que j'ai mal recopié le code (j'utilisais mon smartphone pour accéder au forum)
    merci pour ton aide

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

Discussions similaires

  1. [RegEx] Récupération de texte entre crochets sous certaines conditions
    Par Aurélien LEQUOY dans le forum Langage
    Réponses: 8
    Dernier message: 05/03/2014, 20h00
  2. [sed] Afficher texte entre crochet
    Par Puma24000 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 28/05/2013, 22h39
  3. [RegEx] Récupérer texte entre crochets
    Par Aspic dans le forum Langage
    Réponses: 3
    Dernier message: 12/07/2011, 22h48
  4. [WD-2003] recherche de mots entre crochets
    Par moht66 dans le forum VBA Word
    Réponses: 6
    Dernier message: 03/02/2011, 13h34
  5. Réponses: 5
    Dernier message: 13/07/2007, 14h46

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