Inverser une chaine mais pas tous les mots a l'envers.

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 : Inverser une chaine mais pas tous les mots a l'envers.

Re: Inverser une chaine mais pas tous les mots a l'envers.

par xTG » 24 avr. 2014, 08:21

Et le "on met dans l'ordre" tu le définis comment ? 8-|
L'algorithmie c'est pas magique.
Ce que propose sirakawa est une bonne piste pour identifier si c'est dans l'ordre ou non.

Re: Inverser une chaine mais pas tous les mots a l'envers.

par raphy31 » 24 avr. 2014, 08:06

ok oue donc galere on peu pas faire

if($chaine contient un -) on met dans l'ordre...?

Re: Inverser une chaine mais pas tous les mots a l'envers.

par sirakawa » 23 avr. 2014, 18:10

Il faudrait peut-être énumérer tous les trucs possibles du genre:
rue
avenue
place
square
venelle
qui devraient se trouver en début
et chercher si l'un d'entre eux se trouve au début: dans ce cas, on ne fait rien
S'il ne se trouve pas au début mais en N, nettoyer l'adresse pour enlever le tiret, et déplacer ce qui se trouve à partir de N.

Re: Inverser une chaine mais pas tous les mots a l'envers.

par xTG » 23 avr. 2014, 15:48

Si les adresses sont correctement rentrées cela va te les mettre dans le mauvais ordre évidemment.
Si tu ne sais pas différencier une mauvaise adresse d'une bonne tu ne pourras rien automatiser. ;)

Re: Inverser une chaine mais pas tous les mots a l'envers.

par raphy31 » 23 avr. 2014, 14:50

je l'ai toujours mais ca depend EFFECTIVEMENT, y en a qu'y sont bien rentrés d'autres non.

EFFECTIVEMENT ça fonctionne, mais ca donne quoi si une adresse est deja bien rentré (ca va changé ou non?)

merci de votre rapidité, et de votre aide :)

Re: Inverser une chaine mais pas tous les mots a l'envers.

par Aureusms » 23 avr. 2014, 13:13

As tu toujours le "-" ?

Si oui, essayes vers explode()
<?php 
$string = "MARECHAL FOSH - RUE DE";
$tab = explode ("-",$string);
$newString = trim($tab[1])." ".trim($tab[0]);
echo $newString;
?>
Explode() te créer un tableau, trim() efface les éventuels espaces qui résident.

NOte : xTg trop rapide

Re: Inverser une chaine mais pas tous les mots a l'envers.

par xTG » 23 avr. 2014, 13:09

Tu utilises explode() sur le tiret, tu obtiens un array avec deux index (tes deux chaînes).
Plus qu'à les inverser et le tour est joué. ;)

Inverser une chaine mais pas tous les mots a l'envers.

par raphy31 » 23 avr. 2014, 12:39

Bonjour @tous!

Voila je fais une mise a jour d'une table ou des adresses ont été rentré comme ceci :

MARECHAL FOSH - RUE DE

ET je souhaiterais le replacé comme suit :

RUE DE MARECHAL FOSH

Voilou..

MERCI pour votre help!