Bonjour,
Je vais essayer d’être clair :
Je souhaite ajouter un préfix au texte correspondant au texte dont l’option est vraie dans une expression régulière…
Oulà… il pète les plombs le gars!
Un chti exemple :
j’ai (aa|bb|cc) et je veux mettre « -> » devant l’option qui est vraie.
Ce qui donnerait si et seulement si (tiens ça me rappelle kekchose) c’est bb : ->bb
Sachant que le texte prut contenir du aa, du bb ou du cc
Merci
$maChaine = 'aafzefmzbb';
$regexp = '/(aa|bb|cc)/';
$maChaine = preg_replace( $regexp, "$1->", $maChaine );
echo $maChaine; // aa->fzefmzbb->
Edité le 19/02/2009 à 00:50
Ouais, je n’ai pas été très clair lol
Voilà un exemple :
$texte=« blablabla aa blabla blabla bb blablablabla blablabla cc blablabla »;
$texte=preg_replace(« /((aa|bb|cc).*/ »,« $1 »,$texte);
Selon que ce soit au moment de l’execution du preg, un aa, bb ou cc
le « -> » doit se mettre devant.
Je peux faire 3 preg, mais est-ce possible de le faire en un seul?
Mais, pas de soucis je viens de régler le problème avec un preg_replace_callback ^^
Merci quand même pour ta réponse ![]()
Bah, explique ce que tu veux en donnant avec ton exemple le resultats attendu.
Avec ce que tu as réexpliqué je verais un truc comme ca alors :
$maChaine = 'sdmfjsdmfaamjhmh';
if( preg_match( '/(aa|bb[cc)/', $maChaine ) ) {
$maChaine = '->'.$maChaine;
}
echo $maChaine; // ->sdmfjsdmfaamjhmh
?