Zend_Markup パーサー Zend_Markup には現在 BBCode パーサーと Textile パーサー という2つのパーサーが同梱されています。 パーサーの仕組み Zend_Markup のパーサは、マークアップによる文をトークン木へと 変換するクラス群です。ここの例では BBCode パーサーを用いますが、 全てのパーサーにおいてトークン木の見解は変わりません。 例として BBCode のこの要素で始めます: BBCode パーサーは、要素を分離し以下の木構造を生成した値を持つことでしょう: [b] foo [i] bar baz クローズタグは消えていることにお気づきになったでしょう、それらは木構造の 内容として出現しません。これは、クローズタグは実際の内容のものではないからです。 ですが、これは単にクローズタグを消失したことを意図するものではなく、 タグ自身のタグ情報内で保持されています。さらに、これは木構造自身の簡潔な概観で あるだけということに注意してください。実際の木構造は、タグの属性とその名について より多くの情報を含んでいます。 BBCode パーサー BBCode パーサーは BBCode をトークン木へ変換する Zend_Markup パーサーです。 全ての BBCode タグの文法は: 有効な BBCode タグのいくつかの例は: 標準で、 '[/tagname]' フォーマットを用いて閉じられます. Textile パーサー Textile パーサーは、Textile からトークン木へと変換する Zend_Markup パーサーです。 Textile はタグ構造を持っていないため、 以下は見本例のタグのリストです: 基本的な Textile タグのリスト 入力例 出力例 *foo* foo]]> _foo_ foo]]> ??foo?? foo]]> -foo- foo]]> +foo+ foo]]> ^foo^ foo]]> ~foo~ foo]]> %foo% foo]]> PHP(PHP Hypertext Preprocessor) PHP]]> "Zend Framework":http://framework.zend.com/ Zend Framework]]> h1. foobar foobar]]> h6. foobar foobar]]> !http://framework.zend.com/images/logo.gif! ]]>
さらに、 Textile パーサーは全てのタグを段落へとラップします; 段落は2行の新しい行で終わり、よりタグがあった場合、新しい段落が加えられます。 リスト Textile パーサーは2種類のリストをサポートします。"#"記号を用いた数値型と "*"記号を用いた bullit リストです。両方のリストの例: 上記は2つのリストを生成します: 一つは、数値型; 2つ目は、 bulleted 。 リスト内で、太 (*)、と 強調 (_)のように標準タグを用いることができます。タグは、 ('h1'などのように)新しい行にて始まっている必要があり、リスト内で用いることは できません。