Recherche d'une expression régulière

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 - 7 avril 2006 à 15:13
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 - 10 avril 2006 à 10:15
Bonjour,

Je cherche actuellement à remplacer certains mots dans un texte en utilisant les expressions régulières.
Par exemple :
toto est le plus beau,
mais il est moins beau que titi.

Je voudrais remplacer tous les mots "beau" par "moche", sauf quand beau a été précédé par "toto" sur sa ligne.
Ainsi, le résultat du texte ci-dessus serait :
toto est le plus beau,
mais il est moins moche que titi.

Ca fait plusieurs heures que je cherche, et mon cerveau s'enfuit...
Je me demande même si c'est possible.

PS: je poste ici, c'est à mon avis le meilleur forum pour répondre à ca

Mindiell,

6 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
7 avril 2006 à 15:39
C'est compliqué mais je crois que c'est possible... regarde les références arrières et les assertions ici :
http://ca.php.net/manual/fr/reference.pcre.pattern.syntax.php

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
7 avril 2006 à 15:46
regarde ce que j'ai trouvé à date
<?php
$a = 'toto beau,
mais beau.';

echo nl2br(preg_replace('/(?<!toto) beau/', ' moche', $a));
?>

==
toto beau,

mais moche.

À toi de faire le reste. si tu trouves écris le ici

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
7 avril 2006 à 16:24
Coucou,

J'ai bien lu et bien compris. Malheureusement, mon expression régulière est en javascript, pas en php. Si j'ai posté ici, c'est qu'elles sont très peu utilisées en js donc ici j'vais plus de chances de réponse :)

Mon js plante à cause du caractère '<' situé dans l'expression régulière. Je vais voir ce que je trouve, merci beaucoup !

Mindiell
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
7 avril 2006 à 16:41
J'ai posté sur javascriptfrance pour voir... Je te tiens au courant, merci !

Mindiell

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
7 avril 2006 à 17:21
Woooo les expressions régulières en JS je crois que c'est regex et pas Perl... donc il y a des choses que tu n'auras pas...

Bonne chance.

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
10 avril 2006 à 10:15
Bon, je me débrouille autrement, en gros j'ai remplacé "beau" précédé de "toto" par "un autre terme", puis je remplace les "beau" (donc uniquement ceux qui ne sont pas précédés par "toto")...

Merci quand même ;)

Mindiell Software
Rejoignez-nous