Bonjour j'ai eu un tit probleme se soir , bien que contourné à présent, voici le probleme :

j'ai une chaine qui ressemble à sa : $str='aTbaTbaTb'; ou a , T et b son des string.

je veux remplacer aTb par "" si T="No Import !"

donc l'expression reguliere qui viens à l'esprit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
preg_replace("#^a(.*)No Import !(.*)b$#","",$str)
mais sa ne marche pas , car il prend le dernier b et du coup meme si le second T='ersrs' il serat tout de meme supprimer car il prend le premier a et le dernier b de la chaine 'aTbaTbaTb';

donc je pensais à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
preg_replace("#^a(.*)(^(a))(.*)No Import !(.*)(^(a))(.*)b$#","",$str)
mais j'ai du me planter quelques part car s'il ne supprime pas tout , il ne supprime rien ...

Pour contourner le probleme j'ai explode ma chaine à a , et ensuite sur chacun j'ai fait ma tite recette mais c'est pas super sexy , si quelqu'un à mieux à me proposer je suis preneur.