<?php

/*==============================*\
| +----------------------------+ |
| |     NOWDOC und HEREDOC     | |
| |----------------------------| |
| |   http://www.phpbuddy.eu/  | |
| +----------------------------+ |
\*==============================*/

// UTF-8 Header
header'Content-Type: text/html; charset=utf-8' );

// Einige Beispieldaten
$url   '<a href="http://www.phpbuddy.eu/">phpBuddy.eu</a>';
$liste = array
(
    
"Hund",
    
"Katze",
    
"Maus",
);

/*****************************************/
/* Beispiel mit der HEREDOC Schreibweise */
/*****************************************/
$beispieltext_a = <<<HEREDOC
<p>Die besten PHP Tutorials findet man auf {$url}!</p>
<p>HEREDOC verhält sich wie Text in <a href="http://www.phpbuddy.eu/anfuehrungszeichen-single-quotes-double-quotes.html">Double Quotes</a>
mit all seinen Eigenheiten. So erzeugt das Steuerzeichen \\n \n im Browser Quelltext einen Zeilenumbruch.</p>
<p>Einfache Anführungszeichen ' und Doppelte Anführungszeichen " müssen nicht mit einem \\ escaped werden.<br />
Der Backslash \\ ist das Escape-Zeichen und muss logischerweise selbst escaped werden um ihn darzustellen.</p>
<p>HEREDOC eignet sich auch um HTML und PHP Code zu mischen und den Quelltext übersichtlich zu halten. Beispiel:</p>
<ul>
    <li>
{$liste[0]}</li>
    <li>
{$liste[1]}</li>
    <li>
{$liste[2]}</li>
</ul>
<p>Um das Parsen von Code zu verhindern, muss man ihn escapen: {\$url}</p>
<hr />\n\n
HEREDOC;

// Beispieltext ausgeben
echo $beispieltext_a;



/****************************************/
/* Beispiel mit der NOWDOC Schreibweise */
/****************************************/
$beispieltext_b = <<<'NOWDOC'
<p>NOWDOC verhält sich dagegen wie Text in Single Quotes. Variablen werden nicht geparst: {$url}</p>
<p>Selbst ganze PHP Code Blöcke werden nicht ausgeführt (Rechtsklick Quelltext anzeigen):</p>
<?php
echo 'Ich bin ein Beispieltext.';
?>
<ul>
    <li>{$liste[0]}</li>
    <li>{$liste[1]}</li>
    <li>{$liste[2]}</li>
</ul>
<p>Der Backslash \ hat im NOWDOC keine Bedeutung, weil es nichts zu escapen gibt.</p>
NOWDOC;

// Beispieltext ausgeben
echo $beispieltext_b;