Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zendmarkup.getting.started.html

Size:11524
Storage flags:no_autoload,compress/gzip (29%)

Getting Started With ZendMarkup — Zend Framework 2 2.4.2 documentation

Getting Started With ZendMarkupΒΆ

This guide to get you started with ZendMarkup uses the BBCode parser and HTML renderer. The principles discussed can be adapted to other parsers and renderers.

Basic ZendMarkup Usage

We will first instantiate a Zend\Markup\Renderer\Html class using the Zend\Markup\Markup::factory() method. This will also create a Zend\Markup\Parser\Bbcode object which will be added to the renderer object.

After that, we will use the render() method to convert a piece of BBCode to HTML.

1
2
3
4
5
6
// Creates instance of Zend\Markup\Renderer\Html,
// with Zend\Markup\Parser\BbCode as its parser
$bbcode = Zend\Markup\Markup::factory('Bbcode');

echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
// Outputs: '<strong>bold text</strong> and <em>cursive text</em>'

A more complicated example of ZendMarkup

This time, we will do exactly the same as above, but with more complicated BBCode markup.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$bbcode = Zend\Markup\Markup::factory('Bbcode');

$input = <<<EOT
[list]
[*]Zend Framework
[*]Foobar
[/list]
EOT;

echo $bbcode->render($input);
/*
Should output something like:
<ul>
<li>Zend Framework</li>
<li>Foobar</li>
</ul>
*/

Processing incorrect input

Besides simply parsing and rendering markup such as BBCode, ZendMarkup is also able to handle incorrect input. Most BBCode processors are not able to render all input to XHTML valid output. ZendMarkup corrects input that is nested incorrectly, and also closes tags that were not closed:

1
2
3
4
5
6
$bbcode = Zend\Markup\Markup::factory('Bbcode');

echo $bbcode->render('some [i]wrong [b]sample [/i] text');
// Note that the '[b]' tag is never closed, and is also incorrectly
// nested; regardless, ZendMarkup renders it correctly as:
// some <em>wrong <strong>sample </strong></em><strong> text</strong>

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Getting Started With ZendMarkup on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net