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
?