<a href="#" onclick="javascript: maFonction('<?= $text ?>')" />
Et qui ne s'est jamais heurté aux difficultés d'encodage des caractères spéciaux pour que le code soit bon pour PHP et pour JavaScript ? Pour éviter les soucis de retours à la ligne dans une chaine de caractère JS qui n'est pas accepté par les navigateurs (eh oui, nl2br() ne remplace que \n, pas \r Voici une fonction qui annihile tous les caractères spéciaux contenus dans un texte destiné à être passé comme paramètre à une fonction JS
//Transforme une chaine de texte valide en PHP pour passer dans une fonction JavaScript
function php2js($text)
{
//Permet de protéger les caractères spéciaux
$text = addslashes($text);
//Retire les différents sauts de lignes (\n pour UNIX, \r pour MAC OS et \r\n pour Win32) et les remplace par un <br />
// /!\ ATTENTION : \r\n en 1er sinon, on va remplacer \r puis \n sous Win 32
$text = str_replace( array("\r\n", "\n", "\r"),
'<br />',
$text);
//Permet d'éviter les conflits entre chaines PHP et chaine JS
$text = htmlentities($text);
return $text;
}