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 :

str_replace qui résiste


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut str_replace qui résiste
    bonjour,
    j'ai un script vieux d'un an que je voudrais remettre en fonction. mais il y un morceau qui bloque.
    j'ai une chaine toute bête : $chaine = '"c"';
    je voudrais enlever les guillemets. avant je le faisais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\"","",$chaine);
    ça fonctionnait très bien il y a un an mais là, ça marche plus

    il y a un truc incorrect ou une meilleure méthode pour le faire ?


  2. #2
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\"","",$chaine);
    ya une guillemet en trop ?? non ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\","",$chaine);

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    ah mer** oki javé pa bien griller normalement cett fonction marche très bien si ca persiste ...

    fé le a la main avec un explode() sinon

  4. #4
    Membre averti Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 382
    Points
    382
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace(chr(34),"",$chaine);
    permet d'éviter ce genre de problèmes ^^

  5. #5
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    c'est bizarre, ça marche avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = 'c';
    str_replace("'","",$chaine);
    pourquoi d'un coup ça marche plus avec les guillemets

    au passage : PHP Version 4.3.10-16 (debian sarge)

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    ah oué pas bete j'y oré pa pensé jen pren note au cas ou un jour ca marrive ^^ !!

  7. #7
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    ça change rien avec chr(34)

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = 'c';
    str_replace("'","",$chaine);
    et en fesant l'inverse pour les guillemet ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $chaine = "c";
    str_replace('"',"",$chaine);

  9. #9
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    déjà essayé et ça ne résout pas le problème malheureusement

  10. #10
    Membre averti Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 382
    Points
    382
    Par défaut
    Fais un ord() de chaque caractère de ta chaine pour connaitre le code ascii qui ne passe pas...

  11. #11
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    je viens de tester dans un nouveau fichier et ça marche correctement

    c'est donc mon script qui fait tout délirer

  12. #12
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Citation Envoyé par Le_coyote
    bonjour,
    j'ai un script vieux d'un an que je voudrais remettre en fonction. mais il y un morceau qui bloque.
    j'ai une chaine toute bête : $chaine = '"c"';
    je voudrais enlever les guillemets. avant je le faisais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\"","",$chaine);
    ça fonctionnait très bien il y a un an mais là, ça marche plus

    il y a un truc incorrect ou une meilleure méthode pour le faire ?
    Hum.... aucune erreur dans ce code... si ce n'est qu'il serait quand meme bien de récuperer le retour de str_replace...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine=str_replace(...);


  13. #13
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    euh question comme ca comment tarriv a avoir plusieurs guillemet dans ta chaine parce que sinon si ten a que 2 et quelle entoure ton mot c normal non pour une chaine de caractere ??

  14. #14
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    chr(ord($chaine)) me dit que c'est &. je mets donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace(""","",$chaine);
    et ça marche

    je récupère le retour de str_replace dans le source, je l'ai pas mis sur le forum

    à vous tous

  15. #15
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 241
    Points
    8 241
    Par défaut
    Citation Envoyé par chtichokoko
    euh question comme ca comment tarriv a avoir plusieurs guillemet dans ta chaine parce que sinon si ten a que 2 et quelle entoure ton mot c normal non pour une chaine de caractere ??
    non, je peux avoir que des lettres de l'alphabet.

    en fait, je récupère cette chaine avec une expression régulière à partir d'une chaine qui sort de la bdd phpbb donc j'ai une chaine qui contient des guillemets

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

Discussions similaires

  1. str_replace qui fait rien
    Par isoman dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2010, 21h33
  2. Str_replace() qui ne veut remplacer mon caractère
    Par Khleo dans le forum Langage
    Réponses: 1
    Dernier message: 11/03/2010, 19h16
  3. [PHP 5.3] Fonction str_replace qui ne marche pas avec '<br/>' ?
    Par [ZiP] dans le forum Langage
    Réponses: 1
    Dernier message: 28/02/2010, 19h27
  4. str_replace qui remplace pas correctement
    Par beji15 dans le forum Langage
    Réponses: 5
    Dernier message: 09/02/2008, 01h03
  5. [RegEx] str_replace qui veut pas replacer
    Par lamoufle dans le forum Langage
    Réponses: 5
    Dernier message: 13/09/2005, 13h37

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