11548 sujets

JavaScript, DOM et API Web HTML5

Salut

Sur mon site je rentre des infos via un formulaire et un textarea.

Sur ce texte que je recupere je passe ceci :

$contenu=nl2br(htmlentities($_POST['contenu'], ENT_QUOTES));


Ca, aucun probleme , l'affichage sur la partie publique du site en HTML se passe sans aucun probleme.

Seulement dans la partie privé, je met ce texte la dans un tableau, et pour pas avoir de ligne trop grosses , je met ceci :


<a href="javascript:ouvreTexte(\''.$ligne['contenu_pro'].'\')">Voir le contenu</a>


En gros, j'ouvre ce texte dans une pop up à l'aide de cette fonction :

function ouvreTexte(texte) {
titre="Contenu";
w=open("","",'width=400,height=400,toolbar=no,scrollbars=yes,resizable=yes');
w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");
w.document.write("<p>"+texte+"</p>");
w.document.write("</BODY></HTML>");
w.document.close();
} 


L'erreur survient quand il y a un ' dans le texte. Comment contrer ceci ?

J'ai essaye de le remplacer par \' , mais ca ne fait rien.
Modifié par Ahulane (23 May 2006 - 16:06)
C'est bon j'ai trouvé :

Faut remplacer : &#039; (code apostrophe) par : \&#039;

<a href="javascript:ouvreTexte(\''.str_replace("&#039;","\&#039;;",$ligne['contenu_pro']).'\')">

voila