CyrilleB Posté 29 Août 2009 Posté 29 Août 2009 bonjour, j'essaie de remplacer un mot par autre dans un flux XML que je parse. les items se présentent sous la forme suivante (flux d'origine, que je parse): Course du 18/08 - Arrivée: 3-1-4 je cherche tout simplement à traduire ce flux en anglais, il suffit donc de traduire "course" et "arrivée". actuellement j'ai ça mais ça ne fonctionne pas: $xml = simplexml_load_file($flux);echo '<ul>'."\n";$i = 0;foreach ( $xml->channel->item as $value) { if ( $i < $nb_items ){ echo '<li>' . ($value->title) . "\n" . $value->pubDate . str_replace("course", "race", $value->description) . '</li>' . "\n"; }$i++;}echo ''."\n";?> le flux s'affiche correctement mais le mot "course" du flux original n'est pas remplacé par "race". 2 questions: 1. quelqu'un aurait-il une idée pour faire ceci? 2. comment remplacer plusieurs (2 ou 3) mots? merci!
SStephane Posté 29 Août 2009 Posté 29 Août 2009 Bonjour, Je c/c l'exemple de php.net : // Génère : You should eat pizza, beer, and ice cream every day$phrase = "You should eat fruits, vegetables, and fiber every day.";$healthy = array("fruits", "vegetables", "fiber");$yummy = array("pizza", "beer", "ice cream");$newphrase = str_replace($healthy, $yummy, $phrase);
jcaron Posté 29 Août 2009 Posté 29 Août 2009 Je dirais que ton problème original est que tu cherches à remplacer "Course" (avec une majuscule) alors que tu lui dis de remplacer "course" (sans). Non? Jacques.
ams51 Posté 30 Août 2009 Posté 30 Août 2009 Je galère souvent avec les "replace" car j'oublie de mettre les expressions dans des tableaux (array) ou au contraire je mets des tableaux alors qu'il n'en faut pas. C'est le genre de bugs qui peut faire tourner un développeur non expert pendant de longues minutes.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant