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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part $requete = mysql_query("SELECT * FROM $table WHERE champ REXEP \'\[[:<:]]'.$mot.'\[[:>:]]\'");je n'avais pas envie d'écrire les liens en entier à chaque fois !).
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="code" style="...">Blabla blabla bla</a> ;
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 !
Partager