Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Was?  Motivation  Klassifizierung  Testvorlage  Keine Templates  PHPLib  HTML  E-Mail  IT[X]  Cache-Technologien  OOH Forms  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Stolperfalle: Zeilenumbruch
Wie mit Platzhaltern denen kein Wert zugewiesen wurde umzugehen ist, wird im
optinalen, zweiten Parameter des Konstruktor Template_PHPLIB(string $template_root, string $unknow = "remove")
festgelegt. Es können die Werte "remove" und "keep" angegeben werden.
Wird kein HTML-Dokument erzeugt, bei dem Leerzeichen und Zeilenumbrüche
nur im <pre>-Container von Bedeutung sind, sondern ein Textdokument
ist sehr genau darauf zu achten, wo die Kennzeichner für Blöcke plaziert werden.
<!-- BEGIN news -->
[HEADLINE]
[ERSCHEINUNGSDATUM], [URL]
<!-- END news -->
In der Datei newsletter_phplib.txt
bilden <-- BEGIN news --> und <-- END news --> jeweils eine eigene
Zeile, die erhalten wird. Dies kann - wie im Beispiel - zu unerwünschten Zeilen führen.
Das Problem existiert ebenfalls bei den IT[X]-Templates.
| PHPLib Templates, PEAR-faschion |
Top |
|
<?php
// hier: PHPLib-Templates, PEAR-fashion
require_once("Template_PHPLIB/Template_PHPLIB.php");
// wo befinden sich die Templates?
$tpl = new Template_PHPLIB($DOCUMENT_ROOT . "/schulung/templates/", "remove");
// Template laden
$tpl->setFile(array("main" => "newsletter_phplib.txt"));
// Platzhalter ersetzen, Wertepool füllen
$tpl->setVar("DATUM", date("d.m.Y", time()));
// Blockschachtelung beschreiben
$tpl->setBlock("main", "news", "NEWS_ROWS");
for ($i = 0; $i < 3; $i++) {
$tpl->setVar(
array(
"HEADLINE" => "Headline $i",
"ERSCHEINUNGSDATUM" => date("d.m.Y", time() + $i * 100),
"URL" => "http://www.example.com/$i"
)
);
$tpl->parse("NEWS_ROWS", "news", true);
}
// Ausgabe
$tpl->parse("MAIN", "main");
$tpl->p("MAIN");
?>
|
|
Ausgabe
|
Top |
Kiel, den 19.05.2012
Hallo ,
vielen Dank für die Registrierung zu unserem Newsletter.
Einmal im Monat werden wir Sie über Neuigkeiten rund um
PHP informieren.
Falls Sie unseren Dienst nicht mehr nutzen möchten,
so können Sie sich unter http://www.example.com/abmelden.php
mit folgenden Benutzerdaten abmelden:
Benutzerkennung:
Passwort:
+++ News +++
Headline 0
19.05.2012, http://www.example.com/0
Headline 1
19.05.2012, http://www.example.com/1
Headline 2
19.05.2012, http://www.example.com/2
+++ Kontakt +++
http://www.example.com
info@example.com
Ihr www.example.com-Team
--
http://www.example.com - die tägliche Newsquelle
Abmelden? http://www.example.com/abmelden.php |
|
|
< ^ >
|