Remplacer "es" à la fin d'un mot par e

Remplacer "es" à la fin d'un mot par e - PHP - Programmation

Marsh Posté le 01-06-2004 à 15:39:57    

Bonjour,  
Je cherche à faire quelque chose d'assez simple mais je n'y arrive malheureusment pas. J'ai une chaine de caractéres avec des mots qui finissent par "es", et j'aimerais remplacer ces "es" par des "e".
 
exemple :
 
remplacer "je cherche des olives ou des cerises"
par       "je cherche des olive ou des cerise"
 
Quelqu'un aurais une idée ?
 
Je n'y arrive pas avec :


eregi_replace('es\b', 'e', $machaine);

 
 
Voilà merci d'avance d'avance si vous avez une petite astuce !

Reply

Marsh Posté le 01-06-2004 à 15:39:57   

Reply

Marsh Posté le 01-06-2004 à 16:09:51    

echo str_replace("es","e",$machaine);

Reply

Marsh Posté le 01-06-2004 à 16:14:23    

berceker united a écrit :

echo str_replace("es","e",$machaine);

il a dit a la FIN d'un mot.


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 01-06-2004 à 16:17:03    

kaiska a écrit :


remplacer "je cherche des olives ou des cerises"
par       "je cherche des olive ou des cerise"


s'il remplace pas "des" par "de", on est mal barrés...:whistle:

Reply

Marsh Posté le 01-06-2004 à 16:19:06    

Solution 1 :
echo str_replace("es ","e",$machaine); //Mode barbarian's
 
solution 2 :
il découpe ça chaine "array = explode(' ', $mot);" pour le placer dans un tableau apres il fait un str_replace sur chaque élément de sont tableau. Il reforme ça chaine a partir du tableau "string = implode(' ', $array);"
//mode bo gosse !


Message édité par Berceker United le 01-06-2004 à 16:19:33
Reply

Marsh Posté le 01-06-2004 à 16:24:45    

berceker united a écrit :

Solution 1 :
echo str_replace("es ","e",$machaine); //Mode barbarian's
 
solution 2 :
il découpe ça chaine "array = explode(' ', $mot);" pour le placer dans un tableau apres il fait un str_replace sur chaque élément de sont tableau. Il reforme ça chaine a partir du tableau "string = implode(' ', $array);"
//mode bo gosse !

lol, ca donne le meme resultat, et en plus ca remplace aussi bien au debut , au milieu qu'a la fin du mot. alors que lui il demande qu'a la fin :D
 
le seul moyen c'est les expression reguliere :o


Message édité par fabien le 01-06-2004 à 16:25:05

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 01-06-2004 à 16:32:53    

non la premiere solution j'ai placer un espace "es " forcement ça va sortir la fin des mots.

Reply

Marsh Posté le 01-06-2004 à 16:40:21    

berceker united a écrit :

non la premiere solution j'ai placer un espace "es " forcement ça va sortir la fin des mots.

j'avais pas vu, mais tu oublie les retours a la ligne, le fin de ligne...


Message édité par fabien le 01-06-2004 à 16:40:30

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 01-06-2004 à 16:44:08    

Fabien a écrit :

j'avais pas vu, mais tu oublie les retours a la ligne, le fin de ligne...


s'il y en a il la traite en deux fois. "es " et "es".chr(13) ou 10.


Message édité par Berceker United le 01-06-2004 à 16:44:41
Reply

Marsh Posté le 01-06-2004 à 16:46:43    

voila :

<?php
$chaine = "je cherche des olives ou des cerises sur les arbres";
echo preg_replace('/es\b/', 'e', $chaine);
echo '<br />';
echo preg_replace('/(?<!\s(d|l))es\b/', 'e', $chaine);
?>


 
La deuxième version épargne les 'des' et 'les', c'est juste un exemple.
Cela affiche donc :

je cherche de olive ou de cerise sur le arbre
je cherche des olive ou des cerise sur les arbre


Reply

Marsh Posté le 01-06-2004 à 16:46:43   

Reply

Marsh Posté le 01-06-2004 à 16:51:39    

Au faite, tu veux faire un générateur de faute ? :??:

Reply

Marsh Posté le 01-06-2004 à 17:05:45    

Bein ... "je cherche de olive" est plus juste que "je cherche des olive" ?
j'ai bien mit "c'est juste un exemple".
 
De toute façon mettre une phrase du pluriel au singulier n'est pas facile, il y a beaucoup de cas spéciaux !


Message édité par Ummon le 01-06-2004 à 17:10:18
Reply

Marsh Posté le 02-06-2004 à 09:59:25    

Ummon a écrit :

voila :

<?php
$chaine = "je cherche des olives ou des cerises sur les arbres";
echo preg_replace('/es\b/', 'e', $chaine);
echo '<br />';
echo preg_replace('/(?<!\s(d|l))es\b/', 'e', $chaine);
?>


 
La deuxième version épargne les 'des' et 'les', c'est juste un exemple.
Cela affiche donc :

je cherche de olive ou de cerise sur le arbre
je cherche des olive ou des cerise sur les arbre




 
Parfait merci beaucoup, c'est exactement la première expression que je cherchais.
Merci Merci Merci !:)

Reply

Sujets relatifs:

Leave a Replay

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