Zend_Markup-Getting-Started.xml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.markup.getting-started">
  4. <title>Guide de démarrage avec Zend_Markup</title>
  5. <para>
  6. Ce guide pour vous aider à démarrer avec <classname>Zend_Markup</classname> utilisera le parseur BBCode
  7. et le moteur de rendu <acronym>HTML</acronym>. Les principes utilisés s'adaptent à d'autres formats.
  8. </para>
  9. <example id="zend.markup.getting-started.basic-usage">
  10. <title>Utilisation classique de Zend_Markup</title>
  11. <para>
  12. Nous allons d'abord instancier un objet <classname>Zend_Markup_Renderer_Html</classname> en utilisant
  13. la méthode <methodname>Zend_Markup::factory()</methodname>. Ceci créera aussi un objet
  14. a <classname>Zend_Markup_Parser_Bbcode</classname> qui sera ajouté à l'objet de rendu.
  15. </para>
  16. <para>
  17. Ensuite, nous utiliserons la méthode <methodname>render()</methodname> afin de convertir un bout de
  18. BBCode vers du <acronym>HTML</acronym>.
  19. </para>
  20. <programlisting language="php"><![CDATA[
  21. // Créer une instance de Zend_Markup_Renderer_Html,
  22. // avec Zend_Markup_Parser_BbCode comme parseur
  23. $bbcode = Zend_Markup::factory('Bbcode');
  24. echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
  25. // Affiche: '<strong>bold text</strong> and <em>cursive text</em>'
  26. ]]></programlisting>
  27. </example>
  28. <example id="zend.markup.getting-started.complicated-example">
  29. <title>Un exemple plus complexe de Zend_Markup</title>
  30. <para>
  31. Même chose ici, mais avec un bout de BBCode plus complexe.
  32. </para>
  33. <programlisting language="php"><![CDATA[
  34. $bbcode = Zend_Markup::factory('Bbcode');
  35. $input = <<<EOT
  36. [list]
  37. [*]Zend Framework
  38. [*]Foobar
  39. [/list]
  40. EOT;
  41. echo $bbcode->render($input);
  42. /*
  43. Devrait afficher quelque chose comme:
  44. <ul>
  45. <li>Zend Framework</li>
  46. <li>Foobar</li>
  47. </ul>
  48. */
  49. ]]></programlisting>
  50. </example>
  51. <example id="zend.markup.getting-started.incorrect-input">
  52. <title>Traitement des entrées incorrectes</title>
  53. <para>
  54. En plus d'analyser et rendre des codes de type BBCode, <classname>Zend_Markup</classname>
  55. peut aussi traiter les entrées non valides. La plupart des processeurs de BBCode ne sont pas
  56. capables de rendre toute l'entrée sous forme de <acronym>XHTML</acronym> valide.
  57. <classname>Zend_Markup</classname> corrige les entrées non valides et ajoute des tags de
  58. fermetures si nécessaire:
  59. </para>
  60. <programlisting language="php"><![CDATA[
  61. $bbcode = Zend_Markup::factory('Bbcode');
  62. echo $bbcode->render('some [i]wrong [b]sample [/i] text');
  63. // Remarquez que le tag '[b]' n'est pas fermé et est aussi mal niché
  64. // dans l'arbre; mais Zend_Markup propose un rendu correct:
  65. // some <em>wrong <strong>sample </strong></em><strong> text</strong>
  66. ]]></programlisting>
  67. </example>
  68. </sect1>