PHP Echo un gros bloc de texte
Im nouveau à PHP, et je ne peux pas savoir quelles sont les règles pour l'utilisation de l'echo de la fonction. Par exemple, si j'ai besoin de faire écho à un gros bloc de css/js, ai-je besoin d'ajouter de l'écho à chaque ligne de texte ou est-il un moyen de faire écho à un grand bloc de code avec un simple echo?
Quand j'ai essayer de reprendre un gros bloc de code comme celui-ci, j'obtiens une erreur:
if (is_single()) {
echo '<link type="text/css" href="http://jotform.com/css/styles/form.css"/><style type="text/css">
.form-label{
width:150px !important;
}
.form-label-left{
width:150px !important;
}
.form-line{
padding:10px;
}
.form-label-right{
width:150px !important;
}
body, html{
margin:0;
padding:0;
background:false;
}
.form-all{
margin:0px auto;
padding-top:20px;
width:650px !important;
color:Black;
font-family:Verdana;
font-size:12px;
}
</style>
<link href="http://jotform.com/css/calendarview.css" type="text/css" />
<script src="http://jotform.com/js/prototype.js" type="text/javascript"></script>
<script src="http://jotform.com/js/protoplus.js" type="text/javascript"></script>
<script src="http://jotform.com/js/protoplus-ui.js" type="text/javascript"></script>
<script src="http://jotform.com/js/jotform.js?v3" type="text/javascript"></script>
<script src="http://jotform.com/js/location.js" type="text/javascript"></script>
<script src="http://jotform.com/js/calendarview.js" type="text/javascript"></script>
<script type="text/javascript">
JotForm.init(function(){
$('input_6').hint('ex: myname@example.com');
});
</script>';
}else {
}
Est-il un meilleur moyen de faire écho de gros blocs de code sans beaucoup de travail (ajouter de l'écho à chaque ligne, par exemple)?
Vous devez vous connecter pour publier un commentaire.
Une option est de sortir du bloc php et il suffit d'écrire le code HTML.
Avec votre code, après l'accolade d'ouverture de votre déclaration si, à la fin de l'PHP:
Puis retirez le
echo '
et la';
Après tout votre code html et css, avant la clôture
}
, écrire:Si le texte que vous voulez écrire sur la page est dynamique, il devient un peu plus délicat, mais pour l'instant, cela devrait fonctionner correctement.
Syntaxe Heredoc peut être très utile:
Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:\xampp\htdocs\mbcl\test.php on line 256
Edit: Résolu, leEOT
doit être au début de la ligne, pas de intendation permis, la seule autre permis char dans la ligne est le semikolon aprèsEOT
.Découvrez heredoc. Exemple:
L'est aussi nowdoc mais pas de l'analyse est effectuée à l'intérieur du bloc.
En écho du texte qui contient des sauts de ligne est fine, et il n'y a pas de limite sur la quantité de texte ou de lignes que vous pouvez écho à la fois (sauf pour la mémoire disponible).
L'erreur dans votre code est causée par le non échappés guillemets simples qui apparaissent dans la chaîne.
Voir cette ligne:
Vous auriez besoin d'échapper les guillemets dans une chaîne PHP si c'est une seule ligne ou pas.
Il est un autre bon moyen de faire écho des grandes chaînes, si, et c'est pour fermer le bloc PHP et de l'ouvrir à nouveau plus tard:
Ou d'une autre alternative, ce qui est probablement mieux pour la lisibilité, est de mettre tout ce que statique HTML dans une autre page et include() il.
Homme, PHP n'est pas perl!
PHP peut s'échapper de HTML 🙂
http://www.php.net/manual/en/language.basic-syntax.phpmode.php
Je me demande pourquoi beaucoup de gens coincés à laide heredoc.
Votre problème est en fait causée par:
Vous avez besoin d'échapper les guillemets simples pour être
\'
Cependant: à l'Aide d'un Heredoc est une bien meilleure idée, car il sera beaucoup plus propre dans l'ensemble.
echo
déclaration. Votre solution est également bon, mais cela ne me permet pas de mettre des variables dans le texte (facilement) que j'aurais à faire<?php echo $blah;?>
qui peut devenir agaçant.{$variable}
au lieu de<?php echo $variable;?>
c'est juste une question de préférence personnelle...Étendre sur @hookedonwinter réponse, voici une autre (femme de ménage, à mon avis) syntaxe:
Juste de sortir là où vous en avez besoin.
Ne pas utiliser de raccourci-forme.
<?
conflits avec XML et est désactivé par défaut sur la plupart des serveurs.Je préfère pour concaténer plusieurs Chaînes. Cela fonctionne pour echo ET pour les variables.
Aussi quelques IDEs auto-initialiser de nouvelles lignes, si vous appuyez sur entrée.
Cette Syntaxe aussi générer petite sortie parce qu'il y a beaucoup moins d'espaces dans les chaînes.
Normalement je commence avec une chaîne vide, puis ajouter peu à peu à elle:
(S'il vous plaît arrêter les Messages comme "euh. Vous répondez à une de cinq ans vieille Question." Pourquoi pas? Il y a beaucoup de personnes à la recherche d'une réponse. Et ce qui est mauvais à l'utilisation de cinq ans d'idées? S'ils ne trouvent pas "leur" solution serait d'ouvrir une nouvelle Question. Puis les cinq premières réponses ne sont que des "utiliser la fonction recherche avant de poser la question!" Donc. Je vous donne une autre solution pour résoudre ce type de problèmes.)
Vous pouvez le faire à l'impression de votre chaîne: