Caution: The documentation you are viewing is
for an older version of Zend Framework.
You can find the documentation of the current version at:
https://docs.zendframework.com/
Zend_Markup Renderers - Zend_Markup
Zend_Markup is currently shipped with one renderer, the HTML renderer.
By adding your own markups, you can add your own functionality to the Zend_Markup renderers. With the markup structure, you can add about any functionality you want. From simple markups, to complicated markup structures. A simple example for a 'foo' markup:
Please note that creating your own markups only makes sense when your parser also supports it with a markup structure. Currently, only BBCode supports this.
Some renderers (like the HTML renderer) also have support for a 'markup' parameter. This replaces the 'start' and 'end' parameters, and it renders the markups including some default attributes and the closing markup.
By adding a callback markup, you can do a lot more then just a simple replace of the markups. For instance, you can change the contents, use the parameters to influence the output etc.
A callback is a class that implements the Zend_Markup_Renderer_TokenInterface interface. An example of a callback class:
Now you can add the 'upper' markup, with as callback, an instance of the My_Markup_Renderer_Html_Upper class. A simple example:
Sample input (bbcode) | Sample output |
---|---|
[b]foo[/b] | <strong>foo</strong> |
[i]foo[/i] | <em>foo</em> |
[cite]foo[/cite] | <cite>foo</cite> |
[del]foo[/del] | <del>foo</del> |
[ins]foo[/ins] | <ins>foo</ins> |
[sup]foo[/sup] | <sup>foo</sup> |
[sub]foo[/sub] | <sub>foo</sub> |
[span]foo[/span] | <span>foo</span> |
[acronym title="PHP Hypertext Preprocessor]PHP[/acronym] | <acronym title="PHP Hypertext Preprocessor">PHP</acronym> |
[url=http://framework.zend.com/]Zend Framework[/url] | <a href="http://framework.zend.com/">Zend Framework</a> |
[h1]foobar[/h1] | <h1>foobar</h1> |
[img]http://framework.zend.com/images/logo.gif[/img] | <img src="http://framework.zend.com/images/logo.gif" /> |