Bonjour,

J'ai un petit souci avec les caractères spéciaux.

Voilà ce que je fais pour afficher des valeurs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$str_param = html_entity_decode("<tr><td><script>document.write(calcul_param(\"" . str_replace('"', '\"', htmlentities($row1['param_lib'])) . "\",\"" . htmlentities($row1['param_value']) . "\")));</script></td></tr>");
L'affichage sur la page se fait tout simplement par :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "<TD id='par'>" . $str_param . "&nbsp</TD>";
Lorsque une des valeurs $row1['param_lib'] ou $row1['param_value'] contient un caractère ' ou " , une erreur javascript se produit.

NB : la fonction JS htmlentities est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 function HTMLentities(texte) {
 
texte = texte.replace(/"/g,'&quot;'); // 34 22
texte = texte.replace(/&/g,'&amp;'); // 38 26
[...]
texte = texte.replace(/’/g,'&rsquo;'); // 146 92
[...]
return texte;
}
Avez-vous une idée pour que ce problème ne se produise plus, parce que j'ai à peu près tout essayé et à chaque fois c'est pareil.

Merci par avance.

Cordialement,