Einführung

Beginnen mit Zend_Markup

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

Example #1 Grundsätzliche Verwendung von Zend_Markup

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

Danach verwenden wir die render() Methode um ein Teil von BBCode auf HTML zu konvertieren.

  1. // Erstellt eine Instanz von Zend_Markup_Renderer_Html
  2. // mit Zend_Markup_Parser_BbCode als seinen Parser
  3. $bbcode = Zend_Markup::factory('Bbcode');
  4.  
  5. echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
  6. // Ausgabe: '<strong>bold text</strong> and <em>cursive text</em>'

Example #2 Ein komplizierteres Beispiel von Zend_Markup

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

  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. Sollte etwas wie das folgende ausgeben:
  12. <ul>
  13. <li>Zend Framework</li>
  14. <li>Foobar</li>
  15. </ul>
  16. */

Example #3 Falsche Eingaben bearbeiten

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

  1. $bbcode = Zend_Markup::factory('Bbcode');
  2.  
  3. echo $bbcode->render('some [i]wrong [b]sample [/i] text');
  4. // Es ist zu beachten dass das '[b]' Tag nicht geschlossen ist, und auch
  5. // falsch verknüpft ist; trotzdem stellt es Zend_Markup korrakt wie folgt dar:
  6. // some <em>wrong <strong>sample </strong></em><strong> text</strong>

Einführung