Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2011, 17h46   #1
Candidat au titre de Membre du Club
 
Homme thibaut languevin
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme thibaut languevin
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
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 :
1
2
3
4
5
	$patterns = array();
				$patterns[] = '#/\[+\]/#';
				$replacements = array();
				$replacements[] = '';
				$rep['titre'] = preg_replace($patterns, $replacements, $subject);
thib3113 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 19h34   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
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.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/09/2011, 20h26   #3
Candidat au titre de Membre du Club
 
Homme thibaut languevin
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme thibaut languevin
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
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
thib3113 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 21h02   #4
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Bizarre, chez moi ça fonctionne...
Code :
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 ?
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/09/2011, 22h11   #5
Candidat au titre de Membre du Club
 
Homme thibaut languevin
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme thibaut languevin
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
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.
thib3113 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2011, 06h18   #6
Candidat au titre de Membre du Club
 
Homme thibaut languevin
Étudiant
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme thibaut languevin
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 11
Points : 11
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
thib3113 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h54.


 
 
 
 
Partenaires

Hébergement Web