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 01/02/2008, 17h38   #1
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Par défaut Reconnaitre une balise [nombalise]

Bonjour,

Voici mon probleme. En parcourant un fichier j'aimerai savoir si sur la ligne en cours j'ai une balise [nombalise] ou [/nombalise].

C'est peut etre tout bete mais je vois pas comment faire d'autant plus que les [ ] sont utilisés sur des patterns comme [a-z] ...


Merci de votre aide j'en aurai vraiment besoin
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 17h44   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Bonjour,

Pour les caractères spéciaux, il suffit, d'utiliser '\' comme caractère d'échappement.

Par ex :
Code :
1
2
 
$regex = \[[^\]]*\]¤i';
Dois marcher je pense
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 17h50   #3
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Franchement respect

Repondre aussi vite et juste en plus c'est vraiment nickel je te remercie pour ton aide précieuse.

Bonne continuation ++
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 17h52   #4
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Citation:
Envoyé par FCYPBA Voir le message
Bonjour,

Pour les caractères spéciaux, il suffit, d'utiliser '\' comme caractère d'échappement.

Par ex :
Code :
1
2
 
$regex = \[[^\]]*\]¤i';
Dois marcher je pense
ça marche.

FCYPBA, j'ai vu que tu utilises le caractère '¤' je ne le connais pas tu pourrais me donner sa signification s'il te plait.

ps : pas besoin de caractère d'échappement dans une classe.
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2008, 12h10   #5
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Salut excuse moi mais j'aimerai une dernière petite précision . Comment tu fais pour reconnaitre que les balises [/nombalise].

Franchement les regex çà me parait obscur personne ne fais pareil en plus .

Merci bcp de ton aide ou de quelqu'un d'autre elle sera la bienvenue .
The SorroW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2008, 12h18   #6
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Après modification :

Code :
$pattern = '`\[/[^]]*]`i';
ou bien en gardant le motif de départ de FCYPBA :
Code :
$pattern = \[/[^\]]*\]¤i';

(juste à rajouter / après le premier crochet d'ouverture de la balise [ )
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 17h19   #7
Membre à l'essai
 
Inscription : mai 2007
Messages : 63
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2007
Messages : 63
Points : 22
Points : 22
Merci Gats pour ta réponse il me semblait avoir utilisé ce cas la ... Il devait y avoir une autre erreur qui faisait planter la regex

++
The SorroW 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 13h28.


 
 
 
 
Partenaires

Hébergement Web