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 avec $_POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut str_replace avec $_POST
    bonjour,

    je souhaite remplacer tous les accent dans une chaine de caractère que je récupère via la méthode post:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $Nom2 = $_POST["Name"];
    $Accents = array("Â", "Ä", "À","â","ä","à","Ê","Ë","È","é","è","ê","ë","Î","Ï","Ì","î","ï","ì","Ö","Ô","Ò","ö","ô","ò");
    $SansAcc = array("A", "A", "A","a","a","a","E","E","E","e","e","e","e","I","I","I","I","i","i","O","O","O","o","o","o");
     
    $Nom = str_replace($Accents, $SansAcc, $Nom2);
    Je tiens à précisé que cette variable $Nom, je l'insère dans une base de données, et que si cette variable $Nom2 je la fixe à une valeur(ex: "té"), cela fonctionne.

    Je récupère bien la viariable $_POST["Name"], mais la fonctions str_replace ne traite pas cette variable.

    Merci de bien vouloir m'éclairer sur ce problème.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 419
    Par défaut
    écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $Nom2 = $_POST["Name"];
    var_dump($Nom2);
    $Accents = array("Â", "Ä", "À","â","ä","à","Ê","Ë","È","é","è","ê","ë","Î","Ï","Ì","î","ï","ì","Ö","Ô","Ò","ö","ô","ò");
    $SansAcc = array("A", "A", "A","a","a","a","E","E","E","e","e","e","e","I","I","I","I","i","i","O","O","O","o","o","o");
     
    $Nom = str_replace($Accents, $SansAcc, $Nom2);
    ça affiche quoi maintenant ?

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu peux utiliser preg_replace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $Nom2 = $_POST["Name"];
    $Accents = array('/Â/', '/Ä/', '/À/', ...., /'ò/');
    $SansAcc = array('A', 'A', 'A', .... ,'o');
    preg_replace($Accents , $SansAcc , Nom2);
    ?>

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut
    Citation Envoyé par Fench Voir le message
    Tu peux utiliser preg_replace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $Nom2 = $_POST["Name"];
    $Accents = array('/Â/', '/Ä/', '/À/', ...., /'ò/');
    $SansAcc = array('A', 'A', 'A', .... ,'o');
    preg_replace($Accents , $SansAcc , Nom2);
    ?>
    Bonjour et merci à toi quasi de bien vouloir m'aider.
    J'ai essayer ta méthode et celle-ci ne fonctionne pas car ca ne fait pas le remplacement.

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    J'imagine que tu as corrigé l'erreur que j'avais faite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace($Accents , $SansAcc , Nom2);
    En
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace($Accents , $SansAcc , $Nom2);
    Peut être aussi en ne prennant pas la même variable ...
    Je vais tester de mon côté

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ok ça marche chez moi, juste une petite erreur ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $Nom2 = $_POST["Name"];
    $Accents = array('/Â/', '/Ä/', '/À/', ...., /'ò/');
    $SansAcc = array('A', 'A', 'A', .... ,'o');
    $Nom3 = preg_replace($Accents , $SansAcc , $Nom2);
    ?>
    $Nom3 sera ok !!!

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 63
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $Nom2 = $_POST["Name"];
    var_dump($Nom2);
    $Accents = array("Â", "Ä", "À","â","ä","à","Ê","Ë","È","é","è","ê","ë","Î","Ï","Ì","î","ï","ì","Ö","Ô","Ò","ö","ô","ò");
    $SansAcc = array("A", "A", "A","a","a","a","E","E","E","e","e","e","e","I","I","I","I","i","i","O","O","O","o","o","o");
     
    $Nom = str_replace($Accents, $SansAcc, $Nom2);
    ça affiche quoi maintenant ?
    bonjour et merci de bien vouloir m'aider.
    ca m'affiche bien que ces une chaine de caractère:

    string(3) "eeé"

    Mais cela ne marche toujours pas.

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

Discussions similaires

  1. str_replace avec des tableaux
    Par robbiano78 dans le forum Général Java
    Réponses: 2
    Dernier message: 04/02/2008, 10h08
  2. Problème avec $_POST
    Par zoukinette76 dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2007, 14h12
  3. [FPDF] Problème avec $_POST
    Par coco38 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/04/2007, 13h46
  4. pb avec $_post
    Par marie20 dans le forum Langage
    Réponses: 9
    Dernier message: 13/03/2007, 17h54
  5. isset() toujours vrai avec $_POST
    Par mrttlemonde dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2006, 10h33

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