Je soupçonne fortement magicquote... [Résolu]

Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Dernière intervention
19 décembre 2009
- - Dernière réponse : jreaux62
Messages postés
206
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
24 octobre 2011
- 29 mars 2009 à 06:15
Bonjour,


voila dans un textarea j'utilise un éditeur de texte html pour la mis en forme il mache super il est légé c'est genial!!


Mais lors de la récupération je pense que magicquote doit mettre le souk....


J'envoie ça dans un textarea par post:





test 
gras 
italique 
vert







Et je récupère cette horreur après post....





test 
gras 
italique 
vert





Je soupçonne fortement magicquote... Mais pas sur!


merci de votre aide


Az
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
206
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
24 octobre 2011
3
Merci
// fonction de SUPPRESSION des caracteres accentues
function noaccent($chaine) {
   $avecaccent =  
      "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝ
       àáâãäåçèéêëìíîïðòóôõöùúûüýÿ";
   $sansaccent = 
      "AAAAAACEEEEIIIIOOOOOUUUUY
       aaaaaaceeeeiiiioooooouuuuyy";
   $noaccent = strtr($chaine, $avecaccent, $sansaccent);
   return $noaccent;
}

OU
// fonction de REMPLACEMENT des caracteres accentues
// par leur Code HTML (ou iso, ...)
function noaccent($chaine) {
   $arrayavecaccent  = ("À","Á","Â","...........");
   $arraysansaccent =  (" À ","Á","Â","...........");
   $noaccent  = strtr($chaine, $arrayavecaccent, $arraysansaccent);
   return $noaccent;
}

A adapter ...

Les caractères spéciaux (code ISO, code html, ...) : http://www.commentcamarche.net/contents/html/htmlcarac.php3

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jreaux62
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Dernière intervention
14 décembre 2009
4
0
Merci
salut

et si tu mettais justement le traitement php ?

++
Commenter la réponse de cs_putch
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Dernière intervention
19 décembre 2009
1
0
Merci
J'ai trouvé entre temps:

        $texte_centre_3 = stripslashes($_POST['nl_txt3']);
        $texte_centre_3 = str_replace("é","é",$texte_centre_3);
        $texte_centre_3 = str_replace("è","è",$texte_centre_3);
        $texte_centre_3 = str_replace("à","à",$texte_centre_3);
        $texte_centre_3 = str_replace("â","â",$texte_centre_3);
        $texte_centre_3 = str_replace("€","€",$texte_centre_3);
        $texte_centre_3 = str_replace("ç","ç",$texte_centre_3);
        $texte_centre_3 = str_replace("ê","ê",$texte_centre_3);
        $texte_centre_3 = str_replace("ô","ô",$texte_centre_3);
        $texte_centre_3 = str_replace("î","î",$texte_centre_3);
        $texte_centre_3 = str_replace("²","²",$texte_centre_3);  
        $texte_centre_3 = utf8_decode($texte_centre_3);

Mais bon c'est moche.... Y a pas moyen de faire plus beau?

Az
Commenter la réponse de davidcian
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
21
0
Merci
Salut Davidcian,

Oui, il y a sans doute moyen de faire bien plus beau et surtout plus rapide.
Mais comme le dis Putch il serait intéressant d'avoir ton code.

Cordialement,

Kohntark -
Commenter la réponse de kohntark
Messages postés
206
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
24 octobre 2011
0
Merci
Bonjour,
il existe des fonctions de remplacement des caracteres accentues (en cherchant un peu), mais le probleme ne vient pas de là :
ce sont effectivement les " qui sont mal interpretes au moment de la requete
(c'est pour ca que ton "bout de code" aurait ete d'une bonne aide : aide-toi ...)

avec une requete du genre :
SQL = " ........". $donnees ."......." ;
Si $donnees contient aussi des ", ca ne va pas fonctionner correctement....

Oublie magicquote et essaye :
$donnees = str_replace('"','""',$donnees);
SQL = " ........". $donnees ."......." ;
Commenter la réponse de jreaux62
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Dernière intervention
14 décembre 2009
4
0
Merci
on dit merci [../auteur/JREAUX62/1418388.aspx jreaux62]...
Commenter la réponse de cs_putch
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Dernière intervention
19 décembre 2009
1
0
Merci
merci!!

Pour info j'ai adapté comme ca:

        $tableau_orignie = array('é','è','à','â','€','ç','ê','ô','î','²','ë','û','ö','°','&');
        $tableau_remplace = array('é','è','à','â','€','ç','ê','ô','î','²','ë','û','ö','º','&','&');
       
        $texte_centre_1 = str_replace($tableau_orignie,$tableau_remplace,$_POST['nl_txt1']);  
        $texte_centre_1 = utf8_decode($texte_centre_1);
       
        $titre_centre_1 = str_replace($tableau_orignie,$tableau_remplace,$_POST['nl_txt1_titre']);  
        $titre_centre_1 = utf8_decode($titre_centre_1);

Puis j'ai rajouté ca pour désactivé le magicquote sur toute mes variable transmise:

    if (get_magic_quotes_gpc()) {
        foreach($_POST as $i=>$var) $_POST[$i]=stripslashes($var);
        foreach($_GET as $i=>$var) $_GET[$i]=stripslashes($var);
    }

Az
Commenter la réponse de davidcian
Messages postés
206
Date d'inscription
vendredi 13 juin 2008
Dernière intervention
24 octobre 2011
0
Merci
BN : pour etre precis, le titre de la 1ere fonction est :
// fonction de SUPPRESSION des accents
ou
// fonction de REMPLACEMENT des caracteres accebtues par ceux non-accentues

(on ne supprime pas les caracteres (!), mais on les remplace par ceux non-accentues)
Commenter la réponse de jreaux62

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.