Page 1 sur 1

Remplacement de chaine en PHP...

Publié : 18 janv. 2007, 13:44
par guilhem_mdg
Bonjour à tous,
Je reviens une nouvelle fois vers vous pour vous demander de l'aide.
Je souhaite remplacer dans une chaine de caractères toutes les occurences de "ai" qui sont précédées soit de "v" soit de "x" par "EN"
Ex: "Je m'en vais faire de la plongée" deviens "Je m'en vENs faire de la plongée"
En Php...
Comment faire ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Publié : 18 janv. 2007, 14:53
par chBok
Avec une expression régulière, tu devrais y arriver. Un schéma du style /[vx]ai/ répondrait à ta question. Par exemple :

Code : Tout sélectionner

$result = preg_replace('`[vx]ai`', 'EN', $tachaine);

Publié : 18 janv. 2007, 15:58
par guilhem_mdg
Ben oui et non
Parce que là il me remplace 'vai' par 'EN' alors que je voudrais que le v (ou le x) ne soit pas remplacé...

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Publié : 18 janv. 2007, 16:33
par chBok
guilhem_mdg a écrit :Ben oui et non
Parce que là il me remplace 'vai' par 'EN' alors que je voudrais que le v (ou le x) ne soit pas remplacé...
Oui, tu as raison, il faut améliorer l'expression régulière. Je t'ai déjà donnée une piste de réflexion, mais il faudrait que tu lises la documentation sur le PRCE...

Je corrige donc pour toi :

Code : Tout sélectionner

$result = preg_replace('`([vx])ai`', '$1EN', $tachaine);

Publié : 18 janv. 2007, 17:32
par guilhem_mdg
Super merci !!! :D

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1