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 :

[Tableaux] Supprimer des caractères dans une chaine


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut [Tableaux] Supprimer des caractères dans une chaine
    Je souhaite oter un terme anglais dans une chaine (ici "Country:") mais également les cotes simples ( ' ) de début et fin de chaine mais je ne connait pas la syntaxe pour faire les 2 en même temps.

    ceci fonctionne :
    $result[0]=ereg_replace("Country:","",$result[0]);

    Chaine renvoyée : Country: 'FRANCE(FR)'
    mais en otant aussi les cotes ???

    D'avance merci,

    Dan.

  2. #2
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    tu as essayé avec des caractères d'échappement devant tes cotes \'

  3. #3
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Je crois que t'as pas bien compris la question !

    Dan

  4. #4
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    en un coupe je ne vois pas sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $result[0]=ereg_replace("Country:","",$result[0]);
    $result[0]=ereg_replace("\'","",$result[0]);
    ou alors pas très beau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result[0]=ereg_replace("\'",ereg_replace("Country:","",$result[0]));

  5. #5
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Merci. Mais curieusement cela ne marche pas !
    Aucun effet !

  6. #6
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    j'ai fait une petite faute
    le premier bout de code marche mais le laid il manque ,""

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result[0]=ereg_replace("\'","",ereg_replace("Country:","",$result[0]));

  7. #7
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Et pourquoi ne pas utiliser str_replace plutôt qu'une expression régulière qui consomme plus de ressources ?

    Un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $chaine=str_replace('\'','',$chaine);
    $chaine=str_replace('Country:','',$chaine);
    ?>

    Où en une seule fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $remplace = array('\'' => '', 'Country:' => ''); 
    $chaine = str_replace(array_keys($remplace), array_values($remplace), $chaine);
    ?>
    Celà dit pour cette dernière solution, je sais pas si ' (quote) peut être utilisé comme clef de tableau, à essayer

  8. #8
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Comprends pas ! avec un caractère ca fonctionne mais il ne veux pas supprimer les quotes de début et de fin de chaine !
    voir ici :
    http://www.internet-anonyme.com/traces.php
    sous : Votre localisation géographique :

    Peut-être devrais-je essayer de supprimer le premier et dernier caractère de la chaine (celle-ci commence et fini aux quotes) ?
    Merci de me dire comment faire en php

    Dan.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Et une solution basée sur la fonction preg_match :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $string = "Country: 'FRANCE(FR)'";
    if (preg_match("#Country: '([^']+)'#", $string, $m) == 1) {
        echo $m[1];
    }
    ?


    Julp.

  10. #10
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Bon j'ai compris.
    Les quotes ne sont pas dans la chaine renvoyée mais sont ajoutés à part.
    Un vrai casse-tête !

    Merci.

  11. #11
    Membre du Club Avatar de ddubois
    Profil pro
    Inscrit en
    Février 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Voici le code complet pour que vous puissiez essayer :
    (personnellement j'ai tout essayé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $no_ip=$_SERVER["REMOTE_ADDR"];
    $hostip= "http://api.hostip.info/get_html.php?ip=$no_ip"."&position=true";
    $result = file($hostip);
    // On ote les termes en anglais :
    // (Les quotes ne font pas partie de la chaine renvoyée!)
    $result[0]=ereg_replace("Country:","",$result[0]);
    //$result[0]=ereg_replace("'","",$result[0]); oter les quotes !
    print "Pays : '$result[0]'<br>";
    $result[1]=ereg_replace("City:","",$result[1]);
    print "Ville : '$result[1]'<br>";
    print "$result[2] <br>";
    print "$result[3] <br>";
    ?>
    J'espère que vous trouveerez la réponse à ce casse tête !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $string = "Country: 'FRANCE(FR)'";
    if (preg_match("#Country: '([^']+)'#", $string, $m) == 1) {
        echo $m[1];
    }
    Pas mal ! mais lorsque je fais $string = $result[0]; plus rien ne marche !

    Dan

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

Discussions similaires

  1. Supprimer des mots dans une chaine de caractères
    Par Sanceray3 dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2009, 11h04
  2. Supprimer des caractères dans une chaine
    Par bahamut100 dans le forum Langage
    Réponses: 3
    Dernier message: 12/02/2009, 10h25
  3. Supprimer des caractères d'une chaine
    Par femtoserv dans le forum Access
    Réponses: 6
    Dernier message: 26/02/2007, 10h24
  4. Réponses: 4
    Dernier message: 29/08/2006, 17h44
  5. [VB6] Supprimer des caractères d'une chaine
    Par Overflow64 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 10h26

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