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 :

Problème avec la fonction addslashes


Sujet :

Langage PHP

  1. #1
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut Problème avec la fonction addslashes
    Bonjour,

    Dans un script, j'utilise la fonction addslashes, car je désire pouvoir supprimer l'appostrophe dans ma variable $nom_rub

    Voila ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    session_start();
     $nom_rub=($_SESSION['rubrique']);
     $nom_rub=addslashes($nom_rub);
     
     echo $nom_rub;
    Malheureusement il m'affiche toujours ma variable avec des apostrophes, j'ai oublié quleque chose ?

    Merci

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    ben addslashes n'est pas fait pour supprimer des caractères !

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    pour supprimer les quotes, tu peut utiliser str_replace()

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Regarde cet exemple et ça devrait t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
     
    $zen = "l'arbre";
    $zen1 = strtr($zen,"'"," ");
    ?>
    Ca doit être bon ...

  6. #6
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'ai écrit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    session_start();
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,"'"," ");
    echo $nom_rub;
    L'apostrophe est toujours présent dans ma chaine $nom_rub quand je l'affiche pourquoi ?

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    T'es sur que c'es des apostrophes ? ca peut-être des backticks ou des entités html

  8. #8
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Comment le savoir ? tu à peut etre raison, mais cela ressemble bien à un apostrophe.Comment fair pour supprimer des backticks ou des entités html ?

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Oui d'accord avec Mr.N ... Je l'ai testé chez et ça marche bien ...

    essaie de faire la même avec :

    $ma_var = strtr($ma_var1,'a', ' ');

    Il devrait te remplacer tous les 'a' par un ' '

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Wu
    Comment le savoir ? tu à peut etre raison, mais cela ressemble bien à un apostrophe.Comment fair pour supprimer des backticks ou des entités html ?
    Que donne le résultat de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start(); 
    var_dump($_SESSION['rubrique'], htmlentities($_SESSION['rubrique']));
    ?>

  11. #11
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Cela m'affiche ceci :

    string(17) "Bois d’Anne" string(21) "Bois d'Anne*"

    * a la place du " ' " ya ca décri : ’

    Qu'est-ce ?

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Wu
    Cela m'affiche ceci :

    string(17) "Bois d’Anne" string(21) "Bois d'Anne*"
    bon ben voilà, ce n'est pas une apostrophe. il te suffit donc d'appliquer ton strtr sur ce caractère

  13. #13
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'ai essayer ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    session_start();
    var_dump($_SESSION['rubrique'], htmlentities($_SESSION['rubrique']));
    ?>

    Et il m'affiche ceci : Bois d & # 8 2 1 7 ; Anne

    Je comprend ce que tu veut dire, mais ce caractère la est à traduire comment ?

    J'ai écris ca comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    session_start();
     
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,'’', '');
     
    echo $nom_rub;
    Cela fonctionne pas ?

  14. #14
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'ai écris ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start();
     
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,"& # 8 2 1 7 ;", " "); //sans les espaces entre &#8217 ;
     
    echo $nom_rub;

    Et il m'affiche ceci : Bois & # 8 2 1 7 ; Anne

    Alor qu'il faut qu'il m'affiche Bois d Anne.

  15. #15
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Wu

    J'ai écris ca comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    session_start();
     
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,'’', '');
     
    echo $nom_rub;
    Cela fonctionne pas ?
    Et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    session_start();
     
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,'’', ' ');
     
    echo $nom_rub;

  16. #16
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    En faite je crois qu'il y a un probleme car si j'ecris ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start();
     
    $nom_rub1=($_SESSION['rubrique']);
    $nom_rub=strtr($nom_rub1,'a', '0');
     
    echo $nom_rub;
    Les "a" restent intactes. Bizard ?
    Ais-je oublier quelque-choses ?

  17. #17
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Chez moi j'essaie ça et ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nom_rub1='zazazaza';
    $nom_rub=strtr($nom_rub1,'a', '0');
     
    echo $nom_rub;
    En sortie j'ai : z0z0z0z0

  18. #18
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    J'ai éssayer ca aussi chez moi ca fonctionne c'est ca le pire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $nom_rub1='zazazaza';
    $nom_rub=strtr($nom_rub1,'a', '0');
     
    echo $nom_rub;
    La session fonctionne pourtant, sinon il n'afficherai pas la valeur de ma variable ... ? Je comprend rien, ca marche avec une variable toute simple et avec un variable de ma session puf ca marche plus !

    Merci quand même.

  19. #19
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Essaie ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nom_rub1='Bois d'Anne';
    $nom_rub=strtr($nom_rub1,"'", " ");
     
    echo $nom_rub;

  20. #20
    Wu
    Wu est déconnecté
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Points : 11
    Points
    11
    Par défaut
    Avec ceci ca marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nom_rub1='Bois d'\Anne';
    $nom_rub=strtr($nom_rub1,"'", " ");
     
    echo $nom_rub;
    Ca vient de ma variable de session alors ?

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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