Introduction

Guide de démarrage avec Zend_Markup

Ce guide pour vous aider à démarrer avec Zend_Markup utilisera le parseur BBCode et le moteur de rendu HTML. Les principes utilisés s'adaptent à d'autres formats.

Example #1 Utilisation classique de Zend_Markup

Nous allons d'abord instancier un objet Zend_Markup_Renderer_Html en utilisant la méthode Zend_Markup::factory(). Ceci créera aussi un objet a Zend_Markup_Parser_Bbcode qui sera ajouté à l'objet de rendu.

Ensuite, nous utiliserons la méthode render() afin de convertir un bout de BBCode vers du HTML.

  1. // Créer une instance de Zend_Markup_Renderer_Html,
  2. // avec Zend_Markup_Parser_BbCode comme parseur
  3. $bbcode = Zend_Markup::factory('Bbcode');
  4.  
  5. echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
  6. // Affiche: '<strong>bold text</strong> and <em>cursive text</em>'

Example #2 Un exemple plus complexe de Zend_Markup

Même chose ici, mais avec un bout de BBCode plus complexe.

  1. $bbcode = Zend_Markup::factory('Bbcode');
  2.  
  3. $input = <<<EOT
  4. [*]Zend Framework
  5. [*]Foobar
  6. [/list]
  7. EOT;
  8.  
  9. echo $bbcode->render($input);
  10. /*
  11. Devrait afficher quelque chose comme:
  12. <ul>
  13. <li>Zend Framework</li>
  14. <li>Foobar</li>
  15. </ul>
  16. */

Example #3 Traitement des entrées incorrectes

En plus d'analyser et rendre des codes de type BBCode, Zend_Markup peut aussi traiter les entrées non valides. La plupart des processeurs de BBCode ne sont pas capables de rendre toute l'entrée sous forme de XHTML valide. Zend_Markup corrige les entrées non valides et ajoute des tags de fermetures si nécessaire:

  1. $bbcode = Zend_Markup::factory('Bbcode');
  2.  
  3. echo $bbcode->render('some [i]wrong [b]sample [/i] text');
  4. // Remarquez que le tag '[b]' n'est pas fermé et est aussi mal niché
  5. // dans l'arbre; mais Zend_Markup propose un rendu correct:
  6. // some <em>wrong <strong>sample </strong></em><strong> text</strong>

Introduction