[PHP] Petite astuce pour afficher simplement du code HTML :D


SuperPJ
WRInaute impliqué
WRInaute impliqué
 
Messages: 513
Inscription: 15 Jan 2005

[PHP] Petite astuce pour afficher simplement du code HTML :D

Message le Dim Juil 24, 2005 3:14

Au lieu de faire :
Code: Tout sélectionner
echo "<FONT COLOR=\"Red\">Les antislashes c'est pénible</FONT>";

... qui vous oblige à faire attention de ne pas oublier des "\" devant les guillemets ...

ou encore :
Code: Tout sélectionner
<?
mon code php
?>
<FONT COLOR="Red">Y'a plus d'antislashes mais pour afficher des <? echo $variables; ?> c'est pas joie :'(</FONT>
<?
mon code php
?>

... qui, en plus de pas être clair, vous oblige à faire des <? echo $variable; ?> quand il faut afficher une variable ...


Vous avez une alternative très sympa mais pourtant très peu utilisée qui est :
Code: Tout sélectionner
echo <<<EOF
<FONT COLOR="Red">Je n'ai plus de problèmes avec les antislashes ou les $variables =)</FONT>
EOF;

Essayez, vous allez voir que ça marche ;)
PHP va afficher tout ce qu'il y a entre "<<<EOF" et "EOF;" (attention "EOF;" doit être seul sur une ligne).

Les avantages :
- Vous pouvez indenter votre code html comme bon vous semble
- Toutes les $variables sont interprétées automatiquement
- Pas besoin de mettre d'antislashes devant quoique ce soit (guillemets, apostrophes, etc..)
- Vous pouvez utiliser la paire de délimiteurs que vous voulez. Par exemple "FIN" plutot que "EOF"

Voili voulou ;)

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Dim Juil 24, 2005 3:43

tiens en effet, je connaissais EOF; , mais j'avais jamais pensé à l'utiliser pour du code HTML... Pas bête
cependant, j'ai bien peur que mon éditeur PHP me pète à la gueule si je m'amuse à ça ;)

en tout cas ... BIEN JOUE, SUPERPJ !!


SuperPJ
WRInaute impliqué
WRInaute impliqué
 
Messages: 513
Inscription: 15 Jan 2005

Message le Dim Juil 24, 2005 3:50

Merci Didier :oops:

Je te confirme que j'utilise souvent cette "technique" comme tu peux t'en rendre compte sur un ptit script que j'ai écrit récemment ;) ça marche nickel ... sinon pour l'éditeur j'utilise UltraEdit et il digère bien :P
http://google.audiencestv.com/index.php.html


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3250
Inscription: 25 Aoû 2004

Message le Dim Juil 24, 2005 9:45

c'était donc ça !
et moi qui pensait que EOF était simplement un commentaire de ta part dans ton code... lol
well done collègue !

raspoutine59
WRInaute discret
WRInaute discret
 
Messages: 210
Inscription: 17 Mar 2005

Message le Dim Juil 24, 2005 10:00

Chez moi ton truc ma marche pas et puis à force ça doit être illisible ! C'est surement pour ça que c'est très peu utilisé... car peu conventionelle.

Rien que dans l'éditeur ça deviens le zouc, la coloration syntaxique part en sucette et les guillemets provoque des problemes d'affichage.

Bref j'conseille la chose à personne


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3250
Inscription: 25 Aoû 2004

Message le Dim Juil 24, 2005 10:10

moi au contraire je le conseille, au moins il n'y aura plus d'erreur à cause des apostrophes oubliées
et puis, en même temps, je n'ai pas de "coloration syntaxique" alors...


medium69
WRInaute passionné
WRInaute passionné
 
Messages: 2485
Inscription: 7 Mai 2005

Message le Dim Juil 24, 2005 10:21

J'ai beaucoup mieux à te proposer moi...

Je reprend ton exemple :
Code: Tout sélectionner
echo "<FONT COLOR=\"Red\">Les antislashes c'est pénible</FONT>";


Au lieu de faire cela, je fais comme ça :

Code: Tout sélectionner
echo '<FONT COLOR="Red">Les antislashes c\'est pénible mais je peux utiliser les signes " " " autant que je veux... le seul que je dois échappé est \', donc juste les apostrophes</FONT>';


Je trouve cela bien plus simple quand même.


Genzo
WRInaute impliqué
WRInaute impliqué
 
Messages: 982
Inscription: 18 Juin 2004

Message le Dim Juil 24, 2005 10:44

medium69 a écrit:Au lieu de faire cela, je fais comme ça :

Code: Tout sélectionner
echo '<FONT COLOR="Red">Les antislashes c\'est pénible mais je peux utiliser les signes " " " autant que je veux... le seul que je dois échappé est \', donc juste les apostrophes</FONT>';


Tout à fait d'accord, et si il y a une variable dedant :

Code: Tout sélectionner
echo '<FONT COLOR="Red">J\'affiche ma variable $variable (qui est ' . $variable . '), et c\'est plutôt pas mal :-)</FONT>';


EOF est à mon avis intéressant pour une parcelle de code HTML assez grande. Même si dans ce cas là je ferme PHP et je le réouvre seulement pour les variables à insérer (au moins la coloration synthaxique HTML est présente).


medium69
WRInaute passionné
WRInaute passionné
 
Messages: 2485
Inscription: 7 Mai 2005

Message le Dim Juil 24, 2005 10:51

une portion d'un de code utilisant cette technique :

Code: Tout sélectionner
echo IMG_PUCE_NAV.'<a href="'.URL_ANNUAIRE.'/annuaire.php" title="L\'annuaire des '.number_format($nb_site_annuaire, 0, ',', ' ').' sites répertoriés.">'.$annuaire.'</a><br />';


tu peux afficher tout ce que tu veux sans te prendre la tête avec les guillemets


yuston
WRInaute impliqué
WRInaute impliqué
 
Messages: 800
Inscription: 24 Sep 2004

Message le Dim Juil 24, 2005 10:52

Les quotes simples c'est ce que j'utilise... et je fais de la concaténation pour les variables...
Code: Tout sélectionner
echo '<FONT COLOR="Red">Bonjour '.$nom_visiteur.' comment tu vas? Moi je m\' appelle Admin.</FONT>';

Sir Dipp
WRInaute passionné
WRInaute passionné
 
Messages: 1025
Inscription: 21 Juil 2003

Message le Dim Juil 24, 2005 10:57

<<<EOF c'est du perl, il y a la même chose pour mettre un contenu de variable sur plsuieurs lignes.

C'est pour cela que ça fonctionne pas tout le temps, et je comme la plus part je préfére echo''; :)


SuperPJ
WRInaute impliqué
WRInaute impliqué
 
Messages: 513
Inscription: 15 Jan 2005

Message le Dim Juil 24, 2005 13:55

Le problème avec les apostrophes (simple-quotes) c'est que vous êtes obligés de concaténer les variables puisque celles si ne sont pas interprétées et mettre des antislashes devant les apostrophes internes.

Le problème avec les guillemets (quotes) c'est qu'il ne faut pas oublier un seul antislash devant les guillemets internes.

Concernant la coloration syntaxique vous utilisez quoi comme éditeur ? Moi UltraEdit et ca ne lui pose aucun problème :P Je ne vois pas trop quels problèmes d'affichage ca pourrait poser sachant que "echo <<<EOF" est sur une ligne, "EOF;" est sur une ligne séparée, et que tout ce qu'il y a entre n'est que du code html tout ce qu'il y a de plus classique avec des délimiteurs fontionnant par paires :? bref quel éditeur vous pose problème ? ;)

En tout cas chacun sa technique pour programmer, moi personnellement je préfère "<<<EOF" pour afficher de longues chaînes de caractères qui tiennent sur pluiseurs lignes parce que d'une part je n'ai besoin de rien échapper et d'autre part je n'ai pas besoin de concaténer les variables comme le nécessitent les simple-quotes :P

>>> SIR DIPP : très bien vu pour le Perl :) Je suis programmeur Perl à la base ;) toi aussi ? ;)


SnAKes
WRInaute discret
WRInaute discret
 
Messages: 56
Inscription: 21 Mai 2004

Message le Ven Aoû 05, 2005 15:54

Y'a aussi utiliser des templates du genre Smarty pour séparer le code fonctionnel PHP du code de design HTML.

Sir Dipp
WRInaute passionné
WRInaute passionné
 
Messages: 1025
Inscription: 21 Juil 2003

Message le Ven Aoû 05, 2005 15:56

SuperPJ a écrit:>>> SIR DIPP : très bien vu pour le Perl :) Je suis programmeur Perl à la base ;) toi aussi ? ;)


Non pas vraiment, disons que je connais un peu le Perl :-)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités