PHP Escapen \ Steuerzeichen \ echo wie verwenden?
.MB
- meinung
- php
- programmiertechnik
Hallo Community,
mir ist aufgefallen das wenn ich ein php-Script erzeuge was dann in HTML ausgeben wird, schlecht eingerückt ist. Ich muss dann wirklich mit Steuerzeichen arbeiten wie \n oder \t im echo-Bereich.
Beispiel:
echo "<html>\n\t<body>\n\t\t...\n\t<body>\n<html>"
auch ist mir nicht ganz Klar wie ich das hand haben soll mit <?php ... ?>
<html>
<body>
<?php ... ?>
</body>
<body>
oder so:
echo "<html><body>$value</body></html>";
oder so:
echo '<html><body>' . $value . '</body></html>';
und eben das noch mit Steuzeichen und escapen wie echo "<a href=\"...\">...</a>"; Ich in da sehr aufgeschmissen wi ich da ran gehen soll.
Gruß MB
Tach!
mir ist aufgefallen das wenn ich ein php-Script erzeuge was dann in HTML ausgeben wird, schlecht eingerückt ist.
Das ist nur ein Schönheitsfehler, den kaum einer bemerken wird.
Ich muss dann wirklich mit Steuerzeichen arbeiten wie \n oder \t im echo-Bereich.
Muss man nicht, es gibt alternative Herangehensweisen. Zum einen muss man kein echo verwenden, man kann auch PHP beenden ?> und nach dem HTML-Block wieder beginnen <?php. Für diese Vorgehensweise ist es ja schließlich erfunden worden.
Eine weitere Methode ist die Heredoc oder die Nowdoc-Schreibweise, zu finden im PHP-Manual im Kapitel zu den Typen, und da bei Strings.
und eben das noch mit Steuzeichen und escapen wie echo "<a href=\"...\">...</a>"; Ich in da sehr aufgeschmissen wi ich da ran gehen soll.
Von innen nach außen, wenns denn wirklich echo sein soll. Siehe Kontextwechsel.
dedlfix.
@@.MB
mir ist aufgefallen das wenn ich ein php-Script erzeuge was dann in HTML ausgeben wird, schlecht eingerückt ist. Ich muss dann wirklich mit Steuerzeichen arbeiten wie \n oder \t im echo-Bereich.
Beispiel:
echo "<html>\n\t<body>\n\t\t...\n\t<body>\n<html>"
Nein, das solltest du nicht müssen. Es ist i.a.R. nicht sinnvoll, mit einem PHP-Script Markup zu erzeugen.
auch ist mir nicht ganz Klar wie ich das hand haben soll mit <?php ... ?>
<html> <body> <?php ... ?> </body> <body>
oder so:
echo "<html><body>$value</body></html>";
oder so:
echo '<html><body>' . $value . '</body></html>';
Weder zweiteres noch letzteres. Sondern erstes:
<html>
<body>
<?php echo $value; ?>
</body>
</html>
bzw. kurz
<html>
<body>
<?= $value ?>
</body>
</html>
PHP in HTML schachteln, nicht andersrum.
LLAP 🖖
PS: Ärgerlich, dass die Formatierung im Archiv kaputt ist.
PPS: Ich hab das Beispielmarkup mal so gelassen – in dem Bewusstsein, dass das ohne head
/title
kein gültiges HTML ist.
Hallo Gunnar,
ok danke dir
Herzlichste Grüße MB
Hallo Gunnar Bittersmann,
PS: Ärgerlich, dass die Formatierung im Archiv kaputt ist.
Ich habs mal geändert. Schau mal bitte, ob das so o.k. ist. Auf die verschachtelten Code-Auszeichnungen habe ich verzichten müssen. Das gibt mMn. Kramdown nicht her.
Bis demnächst
Matthias
Tach!
Auf die verschachtelten Code-Auszeichnungen habe ich verzichten müssen. Das gibt mMn. Kramdown nicht her.
Man muss das auch nicht schachteln. Wenn PHP in HTML-Code vorkommt, dann sollte man das alles als PHP auszeichnen. Der „Syntax-Pinsel“ ist intelligent genug, den HTML-Teil als solchen zu erkennen.
dedlfix.