Ah ok je pense avoir compris le problème. Il y a deux choses auxquelles tu dois faire gaffe :
- Quand tu as deux (ou plus) niveaux d'imbrication, tu peux backslasher les backslashs
- Le caractère " est invalide dans un attribut HTML (backslashé ou non), tu dois l'écrire "
Le plus simple serait je pense d'intervertir un peu tes " et tes ' pour arriver à ça :
echo '<body onload="menu (1, 2, 3, 4, \'• <a onclick="box (1, 2, 3, 4, \\'a\\', \\'b\\');">snail</a><br />\')">';
(modulo erreurs, flemme de tester ^^)
[edit] btw c'est assez horrible comme code, si tu comptes l'utiliser ailleurs que pour une petite appli perso, je ne peux que te conseiller d'envisager un sérieux nettoyage