Expressions régulières.

Expressions régulières. - PHP - Programmation

Marsh Posté le 26-07-2002 à 18:36:02    

Salut,
Je voudrai faire un script qui remplace toutes les occurrences d'un mot dans un texte par un autre.
Ça pas de problème :

$text = eregi_replace("\b$nom\b", "$remplace", $text);


 
Mais je voudrais améliorer ce script pour qu'il ne remplace pas les occurrences si le mot se trouve entre < et >.
Et là je ne vois pas comment faire. :(
Merci de m'ai


Message édité par kalex le 27-07-2002 à 07:58:09
Reply

Marsh Posté le 26-07-2002 à 18:36:02   

Reply

Marsh Posté le 27-07-2002 à 07:59:20    

S'ious plait.
Je cale vraiment là ! :(

Reply

Marsh Posté le 27-07-2002 à 09:29:30    

En me concentrant 15 secondes j'ai ça. Ca marche mais c'est pas super.
 
tu remplaces d'abord ta chaine "<".$nom.">" par XXXXXXX
Puis $nom par $remplace
Puis XXXXXXX par "<".$nom.">"
 
 
Mais bon c'est pas super super comme méthode.
 
On devrait pouvoir trouver mieux  ;)


Message édité par CorranHorn le 27-07-2002 à 09:29:42

---------------
A suivre
Reply

Marsh Posté le 27-07-2002 à 16:42:30    

Pas bête.
Mais si on a inventé les éxpressions régulières c'est pour se passer de ce genre de bidouillage.
Merci quand même !
 
Quelqu'un d'autre ?

Reply

Marsh Posté le 27-07-2002 à 17:40:57    

J'ai pas tester
 
preg_replace ("'<[\/\!]*?[^<>]*?>'si","<".$remplace.">" );

Reply

Marsh Posté le 27-07-2002 à 18:21:12    

Merci de m'aider.
 
Mais, si je comprends bien ton code, il remplace tout ce qu'il y a entre < et > ?
 
Or je veux s'il remplace uniquement les occurrences d'un mot dans ce qui est en dehors de < et >.


Message édité par kalex le 27-07-2002 à 18:23:02
Reply

Marsh Posté le 27-07-2002 à 19:42:27    

Kalex a écrit a écrit :

 
Or je veux s'il remplace uniquement les occurrences d'un mot dans ce qui est en dehors de < et >.




 
 :pt1cable: Je ne comprend pas tous a ta phrase là ! :heink:

Reply

Marsh Posté le 27-07-2002 à 20:22:02    

Putain, je suis fatigué moi !
Il fallait donc lire :

Citation :

Or je veux qu'il remplace uniquement les occurrences d'un mot dans ce qui n'est pas entre < et >."


Donc faire :

$text = eregi_replace("\b$nom\b", "$remplace", $text);

 
sauf entre < et >.
 
Désolé...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed