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 :

php remplace apostrophe par ’


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Webmaster
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Points : 11
    Points
    11
    Par défaut php remplace apostrophe par ’
    bonjour,

    je cherche a remplacer "apostrophe " par "'" avec la fonction preg_replace
    avant l'enregistrement dans ma DB;


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $objet = $_POST["objet"];

    je n'y arrive pas !

    un petit coup de main svp !

    merci

  2. #2
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    Tu pourrais montrer le bout de code qui pose probleme ?

  3. #3
    Membre à l'essai
    Webmaster
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    voici le code en question :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     //récupération des valeurs des champs:
    $objet = preg_replace("'", "’", $objet($_POST["objet"]));
    $texte = $_POST["texte"];
     
     
      //récupération de l'identifiant de la fiche :
      $id = $_POST["id"] ;
     
    $date = date(d)."-".date(m)."-".date(Y);
    $heure =date(His);
     
      //création de la requête SQL:
      $sql = "INSERT INTO table_news (news_texte,news_objet,news_date,news_heure)   
    		VALUES  ('$texte','$objet','$date','$heure') " ;

  4. #4
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    As tu essayé cette fonction ? D'après ton besoin tu n'as pas besoin de regExp donc ca serait plus approprié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace( "'" , "`" , $objet($_POST["objet"]))
    ou


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace( "'" , "\`" , $objet($_POST["objet"]))

  5. #5
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    Sinon tu peux aussi utiliser la fonction htmlspecialchars, pour remplacer les caractères spéciaux de ta chaine avant ajout en base, et utiliser celle ci htmlspecialchars_decode pour récupérer le résultat sous la forme souhaitée

  6. #6
    Membre à l'essai
    Webmaster
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    salut,

    ca marche pas avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    str_replace( "'" , "`" , $objet($_POST["objet"]));
    str_replace( "'" , "\`" , $objet($_POST["objet"]));
    Et comment faire avec htmlspecialchars
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    htmlspecialchars( "'" , "`" , $objet($_POST["objet"]));
    c'est ca ?

  7. #7
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    Comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlspecialchars($objet($_POST["objet"]), ENT_QUOTES);

    ENT_QUOTES : Convertit les guillemets doubles et les guillemets simples.

  8. #8
    Membre à l'essai
    Webmaster
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    ok par contre le code marche pas :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    htmlspecialchars($objet($_POST["objet"]), ENT_QUOTES);

    celui ci marche bien par contre:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $objet = htmlspecialchars($objet=($_POST["objet"]), ENT_QUOTES);


    merci beaucoup

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Si ton but est d'éviter les injections SQL, utilise mysql_real_escape_string

  10. #10
    Membre à l'essai
    Webmaster
    Inscrit en
    Août 2009
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2009
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    ca marche en effet avec mysql_real_escape_string

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte = mysql_real_escape_string($texte=($_POST["texte"]));

    Et en plus ca garde le texte enrichi html

    un grand merci a vous !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/11/2014, 17h05
  2. remplacement automatique d'apostrophe par \'
    Par argonath dans le forum Développement
    Réponses: 2
    Dernier message: 17/08/2010, 17h23
  3. remplacer chaine par un code PHP
    Par akrogames dans le forum Langage
    Réponses: 5
    Dernier message: 02/02/2009, 17h31
  4. [PHP-JS] Remplacer bouton par bandeau
    Par webide dans le forum Langage
    Réponses: 9
    Dernier message: 22/08/2006, 19h17
  5. [SQL] remplacement d'un espace ou d'une apostrophe par un tiret bas
    Par jophp dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 25/06/2006, 21h56

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