<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.markup.getting-started">
    <title>Beginnen mit Zend_Markup</title>

    <para>
        Dieser Beginner-Guide für <classname>Zend_Markup</classname> verwendet den BBCode Parser und
        den <acronym>HTML</acronym> Renderer. Die diskutierten Prinzipien können auf andere Parser
        und Renderer angewendet werden.
    </para>

    <example id="zend.markup.getting-started.basic-usage">
        <title>Grundsätzliche Verwendung von Zend_Markup</title>

        <para>
            Zuerst instanzieren wir ein <classname>Zend_Markup_Renderer_Html</classname> Objekt
            durch Verwendung der <methodname>Zend_Markup::factory()</methodname> Methode. Das
            erstellt auch ein <classname>Zend_Markup_Parser_Bbcode</classname> Objekt welches dem
            Renderer Objekt hinzugefügt wird.
        </para>

        <para>
            Danach verwenden wir die <methodname>render()</methodname> Methode um ein Teil von
            BBCode auf <acronym>HTML</acronym> zu konvertieren.
        </para>

        <programlisting language="php"><![CDATA[
// Erstellt eine Instanz von Zend_Markup_Renderer_Html
// mit Zend_Markup_Parser_BbCode als seinen Parser
$bbcode = Zend_Markup::factory('Bbcode');

echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
// Ausgabe: '<strong>bold text</strong> and <em>cursive text</em>'
]]></programlisting>
    </example>

    <example id="zend.markup.getting-started.complicated-example">
        <title>Ein komplizierteres Beispiel von Zend_Markup</title>

        <para>
            Jetzt wollen wir das gleiche wie zuerst machen, aber mit einem komplizierteren
            BBCode Markup.
        </para>

        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');

$input = <<<EOT
[list]
[*]Zend Framework
[*]Foobar
[/list]
EOT;

echo $bbcode->render($input);
/*
Sollte etwas wie das folgende ausgeben:
<ul>
<li>Zend Framework</li>
<li>Foobar</li>
</ul>
*/
]]></programlisting>
    </example>

    <example id="zend.markup.getting-started.incorrect-input">
        <title>Falsche Eingaben bearbeiten</title>

        <para>
            Neben dem einfachen Parsen und Darstellen von Markup wie BBCode, ist
            <classname>Zend_Markup</classname> auch in der Lage falsche Eingaben zu behandeln. Die
            meisten BBCode Prozessoren sind nicht in der Lage jede Eingabe zu einer gültigen
            <acronym>XHTML</acronym> Ausgabe auszugeben. <classname>Zend_Markup</classname>
            korrigiert Eingaben die falsch Verknüpft sind, und schließt auch Tags die nicht
            geschlossen sind:
        </para>

        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');

echo $bbcode->render('some [i]wrong [b]sample [/i] text');
// Es ist zu beachten dass das '[b]' Tag nicht geschlossen ist, und auch
// falsch verknüpft ist; trotzdem stellt es Zend_Markup korrakt wie folgt dar:
// some <em>wrong <strong>sample </strong></em><strong> text</strong>
]]></programlisting>
    </example>
</sect1>
