IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Abréviation nom de ville


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    ...
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut Abréviation nom de ville
    Bonjour,

    Je me tourne vers vous car je cherche depuis un petit moment à résoudre un problème tout bête...

    J'ai un script qui va chercher des informations sur une ville dans ma bdd. Cependant avant d'aller chercher les informations je dois mettre en forme le nom de la ville : un exemple pour mieux comprendre

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Le nom de la ville (invention pour bien illustrer le problème)
    $p = 'SAINT KERSAINT SAINTE PLABENNEC SAINTS';
    //On remplace les SAINT, SAINTE et SAINTS par ST, STE et ST
    $p2= str_ireplace("saint ","ST ",$p);  
    $p2= str_ireplace("sainte ","STE ",$p2);
    $p2= str_ireplace("saints ","ST ",$p2);

    Le problème c'est que je récupère : ST KERST STE PLABENNEC SAINTS
    au lieu de : ST KERSAINT STE PLABENNEC ST

    Je suppose qu'il faut utiliser une expression régulière pour lui faire comprendre qu'il ne faut traiter uniquement que les SAINT/E/S qui sont isolés ou bien en début ou fin de chaîne...

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    En poussant au bout la petite astuce que tu as déjà utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $p = 'SAINT KERSAINT SAINTE PLABENNEC';
    $p = ' ' . $p ; // Pour isoler le "SAINT" initial
    $p2= str_ireplace(" saint "," ST ",$p); // On ne remplace que les "saint" isolés
    $p2= str_ireplace(" sainte "," STE ",$p2); // ...
    $p2= str_ireplace(" saints "," ST ",$p2); 
    $p2 = substr($p2, 1) ; // Suppression du " " initial

  3. #3
    Membre averti
    Femme Profil pro
    ...
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Ça ne marche pas j'obtiens toujours
    SAINT KERSAINT SAINTE PLABENNEC SAINTS => ST KERST STE PLABENNEC SAINTS

    Merci quand même Je poursuis mes recherches du côté des expressions régulières en attendant

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    Je viens de tester ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $p = 'SAINT KERSAINT SAINTE PLABENNEC';
    $p = ' ' . $p ; // Pour isoler le "SAINT" initial
    $p2= str_ireplace(" saint "," ST ",$p); // On ne remplace que les "saint" isolés
    $p2= str_ireplace(" sainte "," STE ",$p2); // ...
    $p2= str_ireplace(" saints "," ST ",$p2); 
    $p2 = substr($p2, 1) ; // Suppression du " " initial
    Et cela me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ST KERSAINT STE PLABENNEC
    N'est-ce pas ce que tu voulais ?

    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SAINT KERSAINT SAINTE PLABENNEC SAINTS
    Donne cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ST KERSAINT STE PLABENNEC SAINTS

  5. #5
    Membre averti
    Femme Profil pro
    ...
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : ...

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Oui ça marche désolé, j'ai changé le nom de la ville en ajoutant un saint à la fin pour tester. En suivant ta logique il faudrait mettre un espace à la fin et ensuite l'enlever, je suppose que ça marche. Au final ce n'est peut être pas aussi propre qu'avec une expression régulière ?

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    Au final ce n'est peut être pas aussi propre qu'avec une expression régulière ?
    Perso je les réserve à des tâches plus complexes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser des noms de villes dans un jeu
    Par wbaccari dans le forum Juridique
    Réponses: 2
    Dernier message: 12/04/2012, 17h19
  2. Nom des villes du monde
    Par sam01 dans le forum Débuter
    Réponses: 1
    Dernier message: 30/09/2010, 09h01
  3. Gestion des erreurs sur les noms des villes
    Par yosryosr dans le forum Pascal
    Réponses: 3
    Dernier message: 18/04/2008, 11h52
  4. gestions des erreurs sur les Noms des villes
    Par yosryosr dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2008, 12h07
  5. Fonction de normalisation Nom de ville
    Par Didier77 dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 19/07/2006, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo