Expressions régulières - interdire un caractère


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Expressions régulières - interdire un caractère

Message le Mar Juin 22, 2010 16:55

Hello

Bon petite galère. Suis nul en expression régulière, ca n'aide pas.

J'ai ca :

Code: Tout sélectionner
$lecontenuApres = preg_replace('#\b('.$leMotCle.'s?)\b#i', "blabla", $lecontenuAvant, 1);


J'aimerais que le sigle "=" soit interdit avant $leMotCle. Juste le sigle égal, rien d'autres. On doit mettre quoi ?

Marchi :)

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: Expressions régulières - interdire un caractère

Message le Mar Juin 22, 2010 18:27

Je dirais:

'#[^\w=]('.$lemotcle.'s?)\b#i' s'il y a forcément au moins un caractère avant (i.e. le mot-clef n'est peut pas être tout au début du texte).
'#(?<!=)\b('.$lemotclef.'s?)\b#i' sinon.

A tester...

Jacques.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Re: Expressions régulières - interdire un caractère

Message le Mar Juin 22, 2010 20:47

Marchi :)

Ca semble marcher. Disons que maintenant j'ai découvert d'autres problèmes lol Mais j'avance vers LA solution :)

Marchi en tout cas


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité