bonjour,
je cherche a remplacer "apostrophe " par "'" avec la fonction preg_replace
avant l'enregistrement dans ma DB;
Code:
1
2 $objet = $_POST["objet"];
je n'y arrive pas !
un petit coup de main svp !
merci
Version imprimable
bonjour,
je cherche a remplacer "apostrophe " par "'" avec la fonction preg_replace
avant l'enregistrement dans ma DB;
Code:
1
2 $objet = $_POST["objet"];
je n'y arrive pas !
un petit coup de main svp !
merci
Tu pourrais montrer le bout de code qui pose probleme ?
voici le code en question :
Code:
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') " ;
As tu essayé cette fonction ? D'après ton besoin tu n'as pas besoin de regExp donc ca serait plus approprié :
ouCode:str_replace( "'" , "`" , $objet($_POST["objet"]))
Code:str_replace( "'" , "\`" , $objet($_POST["objet"]))
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
salut,
ca marche pas avec
Et comment faire avec htmlspecialcharsCode:
1
2 str_replace( "'" , "`" , $objet($_POST["objet"])); str_replace( "'" , "\`" , $objet($_POST["objet"]));
c'est ca ?Code:
1
2 htmlspecialchars( "'" , "`" , $objet($_POST["objet"]));
Comme cela :
Code:htmlspecialchars($objet($_POST["objet"]), ENT_QUOTES);
ENT_QUOTES : Convertit les guillemets doubles et les guillemets simples.
ok par contre le code marche pas :
Code:
1
2 htmlspecialchars($objet($_POST["objet"]), ENT_QUOTES);
celui ci marche bien par contre:
Code:
1
2 $objet = htmlspecialchars($objet=($_POST["objet"]), ENT_QUOTES);
merci beaucoup
Si ton but est d'éviter les injections SQL, utilise mysql_real_escape_string
ca marche en effet avec mysql_real_escape_string
Code:
1
2 $texte = mysql_real_escape_string($texte=($_POST["texte"]));
Et en plus ca garde le texte enrichi html
un grand merci a vous !