| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.markup.parsers">
- <title>Analyseurs Zend_Markup (parsers)</title>
- <para>
- <classname>Zend_Markup</classname> est fourni avec un analyseur, BBCode.
- </para>
- <sect2 id="zend.markup.parsers.theory">
- <title>Theorie de l'analyse</title>
- <para>
- Les analyseurs syntaxiques de <classname>Zend_Markup</classname> sont des classes
- qui convertissent du texte balisé en un arbre d'identifiants d'analyses, appelées 'tokens'.
- Même si nous utilisons par la suite l'analyseur BBCode, le principe de l'arbre à
- tokens est le même pour tous les analyseurs syntaxiques. Essayons avec un morceau
- de BBCode par exemple:
- </para>
- <programlisting><![CDATA[
- [b]foo[i]bar[/i][/b]baz
- ]]></programlisting>
- <para>
- L'analyseur BBCode va analyser syntaxiquement ce code et en déduire l'arbre suivant:
- </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>
- Notez que les tags de fermeture n'existent plus dans l'arbre généré. Ceci car ils
- n'ont pas de valeur particulière pour la sémantique, ils ne sont pas perdus mais stockés
- grâce au seul tag d'ouverture. Notez aussi que ceci n'est qu'une vue simplifiée de l'arbre
- réel qui contient en réalité bien plus d'informations comme les attributs éventuels du tag
- et son nom.
- </para>
- </sect2>
- <sect2 id="zend.markup.parsers.bbcode">
- <title>L'analyseur BBCode</title>
- <para>
- L'analyseur BBCode est un analyseur de <classname>Zend_Markup</classname> qui
- transforme un code BBCode en arbres à tokens. La syntaxe des tags BBCode est:
- </para>
- <programlisting language="text"><![CDATA[
- [name(=(value|"value"))( attribute=(value|"value"))*]
- ]]></programlisting>
- <para>
- Des exemples de tags BBCode valides:
- </para>
- <programlisting><![CDATA[
- [b]
- [list=1]
- [code file=Zend/Markup.php]
- [url="http://framework.zend.com/" title="Zend Framework!"]
- ]]></programlisting>
- <para>
- Par défaut, tous les tags sont fermés avec la syntaxe '[/tagname]'.
- </para>
- </sect2>
- </sect1>
|