Ligne HTML : <img border="0" src="$pictfile" onclick="win=window.open('showimg','Hello', 'directories=no location=no menubar=no titel=no tollbar=no,status=no,widthP0,');" width='320' alt='$pictfile'>
[...]
(ici, la syntaxe Heredoc me semble personnellement la meilleure).
En fait, non. Sachant qu'il est préférable pour plusieurs raisons de déporter le code JavaScript dans un fichier externe, le mieux est : echo "<img border='0' src='$pictfile' onclick='mywinopen(this)'>";
... et la fonction mywinopen() trouvera bien sûr l'url de l'image dans l'attribut this.src.
Ligne HTML :
<img border="0" src="$pictfile"
onclick="win=window.open('showimg','Hello',
'directories=no location=no menubar=no titel=no tollbar=no,status=no,widthP0,height@0');" width='320' alt='$pictfile'>
[...]
(ici, la syntaxe Heredoc me semble personnellement la meilleure).
En fait, non. Sachant qu'il est préférable pour plusieurs raisons de
déporter le code JavaScript dans un fichier externe, le mieux est :
echo "<img border='0' src='$pictfile' onclick='mywinopen(this)'>";
... et la fonction mywinopen() trouvera bien sûr l'url de l'image dans
l'attribut this.src.
Ligne HTML : <img border="0" src="$pictfile" onclick="win=window.open('showimg','Hello', 'directories=no location=no menubar=no titel=no tollbar=no,status=no,widthP0,');" width='320' alt='$pictfile'>
[...]
(ici, la syntaxe Heredoc me semble personnellement la meilleure).
En fait, non. Sachant qu'il est préférable pour plusieurs raisons de déporter le code JavaScript dans un fichier externe, le mieux est : echo "<img border='0' src='$pictfile' onclick='mywinopen(this)'>";
... et la fonction mywinopen() trouvera bien sûr l'url de l'image dans l'attribut this.src.
CrazyCat
Bonjour,
Otto Haldi wrote:
Je ne sais pas comment transformer la ligne HTML ci-dessous pour l'afficher avec un PHP echo?
Comme toujours, on s'y perd entre les simples et doubles quotes...
Ligne HTML : <img border="0" src="$pictfile" onclick="win=window.open('showimg','Hello', 'directories=no location=no menubar=no titel=no tollbar=no,status=no,widthP0,');" width='320' alt='$pictfile'>
1- Tu vérifie que tes variables ne sont pas contenues dans des quotes simples ( ' ), auquel cas elles ne seront pas interprétées.
2- Tu vérifie que les quotes doubles englobent toujours, le cas échéant, les quotes simples, avec un seul niveau d'englobement.
3- Tu "backslashises" les quotes doubles, en remplaçant " par " partout.
4- Ensuite, tu englobe la chaîne de caractère résultante, par deux quotes doubles ( sans backslashe ), et tu rajoute le saut de ligne n à la fin de la chaîne de caractère, pour assurer un affichage correct du code source pour le site, sinon la suite des lignes raboutées, serait illisible.
5- Tu fais l'echo de cette chaîne de caractères.
6- Et... Le tour est joué ! ;)
Je conseille pour des pages entières, de faire autant d'echo de que de lignes, mais rien n'empêche de concaténer les lignes ( avec des sauts de ligne n à la fin de chaque lignes ) entre elles, et de faire un echo de la chaîne de caractères globale.
A la limite, on pourrait faire une fonction qui fasse le boulot automatiquement, avec en paramètre, la chaîne globale, et en sortie, la chaîne traduite, donc on ferait :
echo chaine_traduite($chaine_html);
Pour ma part, je ne fais jamais comme ça, car je n'aime pas le codage illisible. ;)
Bien à vous.
Jean-François Ortolo
C'est simple
1- Tu vérifie que tes variables ne sont pas contenues dans des quotes
simples ( ' ), auquel cas elles ne seront pas interprétées.
2- Tu vérifie que les quotes doubles englobent toujours, le cas
échéant, les quotes simples, avec un seul niveau d'englobement.
3- Tu "backslashises" les quotes doubles, en remplaçant " par " partout.
4- Ensuite, tu englobe la chaîne de caractère résultante, par deux
quotes doubles ( sans backslashe ), et tu rajoute le saut de ligne n
à la fin de la chaîne de caractère, pour assurer un affichage correct du
code source pour le site, sinon la suite des lignes raboutées, serait
illisible.
5- Tu fais l'echo de cette chaîne de caractères.
6- Et... Le tour est joué ! ;)
Je conseille pour des pages entières, de faire autant d'echo de que
de lignes, mais rien n'empêche de concaténer les lignes ( avec des sauts
de ligne n à la fin de chaque lignes ) entre elles, et de faire un echo
de la chaîne de caractères globale.
A la limite, on pourrait faire une fonction qui fasse le boulot
automatiquement, avec en paramètre, la chaîne globale, et en sortie, la
chaîne traduite, donc on ferait :
echo chaine_traduite($chaine_html);
Pour ma part, je ne fais jamais comme ça, car je n'aime pas le codage
illisible. ;)
1- Tu vérifie que tes variables ne sont pas contenues dans des quotes simples ( ' ), auquel cas elles ne seront pas interprétées.
2- Tu vérifie que les quotes doubles englobent toujours, le cas échéant, les quotes simples, avec un seul niveau d'englobement.
3- Tu "backslashises" les quotes doubles, en remplaçant " par " partout.
4- Ensuite, tu englobe la chaîne de caractère résultante, par deux quotes doubles ( sans backslashe ), et tu rajoute le saut de ligne n à la fin de la chaîne de caractère, pour assurer un affichage correct du code source pour le site, sinon la suite des lignes raboutées, serait illisible.
5- Tu fais l'echo de cette chaîne de caractères.
6- Et... Le tour est joué ! ;)
Je conseille pour des pages entières, de faire autant d'echo de que de lignes, mais rien n'empêche de concaténer les lignes ( avec des sauts de ligne n à la fin de chaque lignes ) entre elles, et de faire un echo de la chaîne de caractères globale.
A la limite, on pourrait faire une fonction qui fasse le boulot automatiquement, avec en paramètre, la chaîne globale, et en sortie, la chaîne traduite, donc on ferait :
echo chaine_traduite($chaine_html);
Pour ma part, je ne fais jamais comme ça, car je n'aime pas le codage illisible. ;)