<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="zend.markup.getting-started">
    <title>さあ始めましょう</title>
 
    <para>
        これは <classname>Zend_Markup</classname> BBCode パーサーと <acronym>HTML</acronym>
        レンダラーを用いる <classname>Zend_Markup</classname> を始めるためのガイドです。
        他のパーサーやレンダラーに適用できる原則です。
    </para>
 
    <example id="zend.markup.getting-started.basic-usage">
        <title>基本的な Zend_Markup 使用法</title>
 
        <para>
            まず初めに <methodname>Zend_Markup::factory()</methodname> メソッドを用いて、
            <classname>Zend_Markup_Renderer_Html</classname> オブジェクトを具象化します。
            <classname>Zend_Markup_Parser_Bbcode</classname> オブジェクトがレンダラーに
            追加され作成されるでしょう。
        </para>
 
        <para>
         その後、 <methodname>render()</methodname> メソッドを BBCode から
         <acronym>HTML</acronym> の断片に変換するために使用します。
        </para>
 
        <programlisting language="php"><![CDATA[
// Zend_Markup_Parser_BbCode を自身のパーサーとして、
// Zend_Markup_Renderer_Html のインスタンスを生成します。
$bbcode = Zend_Markup::factory('Bbcode');
 
echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
// 出力: '<strong>bold text</strong> and <em>cursive text</em>'
]]></programlisting>
    </example>
 
    <example id="zend.markup.getting-started.complicated-example">
        <title>Zend_Markup のより複雑な例</title>
 
        <para>
            今回、上記と同様なことを正確に行いますが、より複雑な BBCode の例です。
        </para>
 
        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');
 
$input = <<<EOT
[list]
[*]Zend Framework
[*]Foobar
[/list]
EOT;
 
echo $bbcode->render($input);
/*
このように出力されるはずです:
<ul>
<li>Zend Framework</li>
<li>Foobar</li>
</ul>
*/
]]></programlisting>
    </example>
 
    <example id="zend.markup.getting-started.incorrect-input">
        <title>不正確な入力でのプロセス</title>
 
        <para>
            BBCode のようなマークアップの簡潔な解析とレンダリングの側面から、
            <classname>Zend_Markup</classname> は誤った入力も扱えます。大抵の BBCode
            処理機構は全ての入力に対し <acronym>XHTML</acronym> での正しい出力を行えません。
            <classname>Zend_Markup</classname> は、
            不正確なネストや閉じられていない閉じタグを訂正します:
        </para>
 
        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');
 
echo $bbcode->render('some [i]wrong [b]sample [/i] text');
// '[b]' は決して閉じられておらず、また不正確にネストされていることに注意しましょう。
// それにもかかわらず、 Zend_Markup は以下のように正確にレンダリングします:
// some <em>wrong <strong>sample </strong></em><strong> text</strong>
]]></programlisting>
    </example>
</sect1>