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 17/02/2011, 08h56   #1
Invité de passage
 
Homme Etienne
Inscription : février 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Etienne
Localisation : Vietnam

Informations forums :
Inscription : février 2011
Messages : 4
Points : 1
Points : 1
Par défaut Regex mysql, à l'exclusion de

Bonjour,

Je n'arrive pas à concocter une 'condition excluante' dans ma regex mysql. Je m'explique :
J'ai une regex qui va chercher un $mot dans un champ. Jusque là, pas de problème :
Code :
$requete = mysql_query("SELECT * FROM $table WHERE champ REXEP \'\[[:<:]]'.$mot.'\[[:>:]]\'");
Or, dans le champ, il peut y avoir une ou plusieurs balises <lien(Blabla blabla bla/code)/> (ce sont des balises persos qui me permettent de créer un lien redirigeant vers une page, sous la forme
Code :
<a href="code" style="...">Blabla blabla bla</a> ;
je n'avais pas envie d'écrire les liens en entier à chaque fois !).

Ce que je voudrais, c'est que ma regex capture $mot quand il se trouve hors du lien et/ou dans la partie "Blabla blabla bla" du lien, mais pas dans la partie code (qui figure dans le deuxième argument de ma balise <lien(.../...)/>).

Exemples :
si le champ contient : 'J'aime les patates', $requete doit le capturer.
si le champ contient : 'J'aime les pommes et les <lien(patates/feculents)/>', $requete doit aussi le capturer.
mais si le champ contient : 'J'aime les pommes et les <lien(pommes de terre sautées/patates_sautes)/>', il ne doit pas être retourné.

Comment faire ?
Merci !
Poldybloom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h17   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Hello t'as quelle version de MySQL ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 04h01   #3
Invité de passage
 
Homme Etienne
Inscription : février 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Etienne
Localisation : Vietnam

Informations forums :
Inscription : février 2011
Messages : 4
Points : 1
Points : 1
oh, désolé, j'avais pas vu ta réponse, j'attendais un mail d'avertissement – j'ai pas dû activer l'option...

Réponse: Mysql 5.1.33
Merci
Poldybloom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 10h03   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Poldybloom Voir le message
oh, désolé, j'avais pas vu ta réponse, j'attendais un mail d'avertissement – j'ai pas dû activer l'option...

Réponse: Mysql 5.1.33
Merci
comme ta la 5.1 tu peux utiliser xpath pour faire tes requêtes :
http://dev.mysql.com/doc/refman/5.1/...functions.html
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 10h08   #5
Invité de passage
 
Homme Etienne
Inscription : février 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Etienne
Localisation : Vietnam

Informations forums :
Inscription : février 2011
Messages : 4
Points : 1
Points : 1
Ouch quel baragouin ! Je pige que dalle :p
Bon, peu importe – j'ai trouvé une solution, en repensant complétement mon moteur de recherche...
Merci quand même pour la participation !
Poldybloom 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 12h07.


 
 
 
 
Partenaires

Hébergement Web