résultat d'une fonction : modifier ordre des mots

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : résultat d'une fonction : modifier ordre des mots

Re: résultat d'une fonction : modifier ordre des mots

par sirakawa » 22 juil. 2011, 18:26

J'aurai plutôt procédé à une analyse préalable de :
1) tous les noms possibles affichables :
pluie, neige, grêle... etc
2) de tous les adjectifs possibles pouvant se mettre avant le nom (non pas suivant l'usage général, mais suivant le goût de l'auteur):
3) de tous les adjectifs possibles pouvant se mettre après le nom (non pas suivant l'usage général, mais suivant le goût de l'auteur):
4) de tous les adjectifs possibles pouvant se mettre avant ou après le nom (non pas suivant l'usage général, mais suivant le goût de l'auteur):
un recensement de ce qui permet de choisir la réponse (ce qui fournit le contenu de $weather) :
-s'agit-il d'un nombre ou d'une chaine servant d'indice permettant de choisir dans un tableau? alors, il suffirait de redéfinir ce tableau avec les contenus appropriés?
-s'agit-il d'autre chose ? quoi?

C'est ce que j'ai fait autrefois quand j'ai francisé le logiciel word_of_the_day: on ne pouvait pas traduire toutes les expressions possibles quand elles étaient le produit de combinaispns aléatoires...

Re: résultat d'une fonction : modifier ordre des mots

par Remstux » 22 juil. 2011, 15:24

Merci Ryle pour ta réponse claire, précise et instructive, j'arrive mieux à comprendre les différents tuto php que je lis à ce sujet.
Je débute en php et je trouve ton approche très intéressante.
En ce qui concerne le problème que j'ai posé, tu as parfaitement répondu à mes attentes et je vais me pencher sur les fonctions array explore et implode.
En tout cas merci encore =D>

Re: résultat d'une fonction : modifier ordre des mots

par Ryle » 21 juil. 2011, 15:46

La première question à te poser c'est : quelle est la règle qui doit être utilisée ?

Est-ce qu'il suffit toujours, tout le temps et sans aucune exception, d'inverser l'ordre des mots (le premier en dernier, le deuxième en avant dernier, etc.) ?
Auquel cas, le plus simple est de constituer un tableau à partir des mots de ta chaine (avec la fonction explode() par exemple), et d'inverser l'ordre des éléments du tableau (array_reverse()) avant de reconstituer ta chaine (implode())

S'il y a des exceptions à cette règle (chose qui soit dit en passant infirme la règle et ne les a jamais confirmé ;)), quelles sont-elles et comment faut-il les traiter ? Si la règle ne s'applique pas à tout les coup, il te faudra passer par une table de correspondance (ça peut être un simple tableau) pour spécifier pour chaque valeur que tu pourrais avoir dans ta chaine, quelle valeur tu dois afficher à la place :
$corresp = array (
  'averse' => 'averse'
  , 'averse légère' => 'légère averse' 
  , ...
);

echo $weather; // msg d'origine
echo $corresp[$weather]; // msg correspondant

Re: résultat d'une fonction : modifier ordre des mots

par Remstux » 21 juil. 2011, 14:23

Salut moogli, merci pour ta réponse
Désolé je me suis mal exprimé
Je souhaite que ce soit l'ordre des mots de l'affichage en retour de la commande echo "weather: $weather"
Sur ma page s'affichent les conditions météo du moment :
si il fait averse, echo "weather: $weather" m'affichera : averse
si il fait une averse légère,echo "weather: $weather" m'affichera : légère averse // j'aimerai que ce soit affiché averse légère
si il fait légère averse à tendance pluie, echo "weather: $weather" m'affichera : légère averse pluie // j'aimerai que ce soit affiché pluie averse légère
J'ai essayé la fonction str_replace :
$meteo = $weather
$meteo = str_replace ("légère averse"","averse légère",$meteo );
sans succès. Mes connaissances déjà petites en php ont atteint leurs limites.

J'espère que j'ai été clair.

Re: résultat d'une fonction : modifier ordre des mots

par moogli » 21 juil. 2011, 13:12

Salut,

Je n'ai pas trop compris ce que tu souhaite.
Tu veux enlever le mot weather ?
Si oui simplement echo $weather; devrait suffir !


@+

résultat d'une fonction : modifier ordre des mots

par Remstux » 21 juil. 2011, 13:07

Bonjour à tous,
J'ai cherché un peu partout et je n'arrive pas à trouver une réponse exacte à mon problème ou j' n'arrive pas à l'adapter.

Lorsque je fais un
echo "weather: $weather"
J'ai un retour que se fait en fonction de la météo actuelle : averses, légère averse, légère averse pluie. La réponse à $weather est donc formée par un seul mots ou plusieurs mots séparés d'espaces.
J'aimerai que le résultat : averses, averse légère, pluie averse légère.

J'avoue que je bloque depuis quelques jours.

Merci pour votre aide