- [b]foo[i]bar[/i][/b]baz
Zend_Markup パーサー
Zend_Markup には現在 BBCode パーサーと Textile パーサー という2つのパーサーが同梱されています。
パーサーの仕組み
Zend_Markup のパーサは、マークアップによる文をトークン木へと 変換するクラス群です。ここの例では BBCode パーサーを用いますが、 全てのパーサーにおいてトークン木の見解は変わりません。 例として BBCode のこの要素で始めます:
BBCode パーサーは、要素を分離し以下の木構造を生成した値を持つことでしょう:
-
[b]
-
foo
-
[i]
-
bar
-
-
-
baz
クローズタグは消えていることにお気づきになったでしょう、それらは木構造の 内容として出現しません。これは、クローズタグは実際の内容のものではないからです。 ですが、これは単にクローズタグを消失したことを意図するものではなく、 タグ自身のタグ情報内で保持されています。さらに、これは木構造自身の簡潔な概観で あるだけということに注意してください。実際の木構造は、タグの属性とその名について より多くの情報を含んでいます。
BBCode パーサー
BBCode パーサーは BBCode をトークン木へ変換する Zend_Markup パーサーです。 全ての BBCode タグの文法は:
- [name(=(value|"value"))( attribute=(value|"value"))*]
有効な BBCode タグのいくつかの例は:
- [b]
- [list=1]
- [code file=Zend/Markup.php]
- [url="http://framework.zend.com/" title="Zend Framework!"]
標準で、 '[/tagname]' フォーマットを用いて閉じられます.