| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.markup.parsers">
- <title>Zend_Markup Parser</title>
- <para>
- <classname>Zend_Markup</classname> wird aktuell mit BBCode Parser.
- </para>
- <sect2 id="zend.markup.parsers.theory">
- <title>Theorie des Parsens</title>
- <para>
- Die Parser von <classname>Zend_Markup</classname> sind Klasse die Text mit Markup in
- einen Token Baum konvertieren. Auch wenn wir hier den BBCode Parser als Beispiel
- verwenden ist die Idee des Token Baums die gleiche bei allen Parsern. Wir beginnen mit
- diesem Teil von BBCode als Beispiel:
- </para>
- <programlisting><![CDATA[
- [b]foo[i]bar[/i][/b]baz
- ]]></programlisting>
- <para>
- Der BBCode Parser nimmt diesen Wert, teilt Ihn auf und erzeugt den folgenden Baum:
- </para>
- <itemizedlist>
- <listitem>
- <para>[b]</para>
- <itemizedlist>
- <listitem>
- <para>foo</para>
- </listitem>
- <listitem>
- <para>[i]</para>
- <itemizedlist>
- <listitem>
- <para>bar</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>baz</para>
- </listitem>
- </itemizedlist>
- <para>
- Wie man sieht sind die schließenden Tags weg. Sie werden nicht als Inhalt der
- Baumstruktur angezeigt. Das ist deswegen der Fall, da schließende Tags kein Teil des
- aktuellen Inhalts sind. Das bedeutet aber nicht das die schließenden Tags einfach
- verloren sind. Sie sind in der Tag Information für das Tag selbst gespeichert. Es ist
- auch zu beachten das dies nur eine vereinfachte Darstelliung des Baumes selbst ist. Der
- aktuelle Baum enthält viel mehr Information, wie die Attribute der Tags und deren Namen.
- </para>
- </sect2>
- <sect2 id="zend.markup.parsers.bbcode">
- <title>Der BBCode Parser</title>
- <para>
- Der BBCode Parser ist ein <classname>Zend_Markup</classname> Parser der BBCode in einen
- Token Baum konvertiert. Die Syntax alle BBCode Tags ist:
- </para>
- <programlisting language="text"><![CDATA[
- [name(=(value|"value"))( attribute=(value|"value"))*]
- ]]></programlisting>
- <para>
- Einige Beispiel von gültigen BBCode Tags sind:
- </para>
- <programlisting><![CDATA[
- [b]
- [list=1]
- [code file=Zend/Markup.php]
- [url="http://framework.zend.com/" title="Zend Framework!"]
- ]]></programlisting>
- <para>
- Standardmäßig werden alle Tags durch Verwendung des Formats '[/tagname]' geschlossen.
- </para>
- </sect2>
- </sect1>
|