Zend_Markup-Getting-Started.xml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect1 id="zend.markup.getting-started">
  5. <title>さあ始めましょう</title>
  6. <para>
  7. これは <classname>Zend_Markup</classname> BBCode パーサーと <acronym>HTML</acronym>
  8. レンダラーを用いる <classname>Zend_Markup</classname> を始めるためのガイドです。
  9. 他のパーサーやレンダラーに適用できる原則です。
  10. </para>
  11. <example id="zend.markup.getting-started.basic-usage">
  12. <title>基本的な Zend_Markup 使用法</title>
  13. <para>
  14. まず初めに <methodname>Zend_Markup::factory()</methodname> メソッドを用いて、
  15. <classname>Zend_Markup_Renderer_Html</classname> オブジェクトを具象化します。
  16. <classname>Zend_Markup_Parser_Bbcode</classname> オブジェクトがレンダラーに
  17. 追加され作成されるでしょう。
  18. </para>
  19. <para>
  20. その後、 <methodname>render()</methodname> メソッドを BBCode から
  21. <acronym>HTML</acronym> の断片に変換するために使用します。
  22. </para>
  23. <programlisting language="php"><![CDATA[
  24. // Zend_Markup_Parser_BbCode を自身のパーサーとして、
  25. // Zend_Markup_Renderer_Html のインスタンスを生成します。
  26. $bbcode = Zend_Markup::factory('Bbcode');
  27. echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
  28. // 出力: '<strong>bold text</strong> and <em>cursive text</em>'
  29. ]]></programlisting>
  30. </example>
  31. <example id="zend.markup.getting-started.complicated-example">
  32. <title>Zend_Markup のより複雑な例</title>
  33. <para>
  34. 今回、上記と同様なことを正確に行いますが、より複雑な BBCode の例です。
  35. </para>
  36. <programlisting language="php"><![CDATA[
  37. $bbcode = Zend_Markup::factory('Bbcode');
  38. $input = <<<EOT
  39. [list]
  40. [*]Zend Framework
  41. [*]Foobar
  42. [/list]
  43. EOT;
  44. echo $bbcode->render($input);
  45. /*
  46. このように出力されるはずです:
  47. <ul>
  48. <li>Zend Framework</li>
  49. <li>Foobar</li>
  50. </ul>
  51. */
  52. ]]></programlisting>
  53. </example>
  54. <example id="zend.markup.getting-started.incorrect-input">
  55. <title>不正確な入力でのプロセス</title>
  56. <para>
  57. BBCode のようなマークアップの簡潔な解析とレンダリングの側面から、
  58. <classname>Zend_Markup</classname> は誤った入力も扱えます。大抵の BBCode
  59. 処理機構は全ての入力に対し <acronym>XHTML</acronym> での正しい出力を行えません。
  60. <classname>Zend_Markup</classname> は、
  61. 不正確なネストや閉じられていない閉じタグを訂正します:
  62. </para>
  63. <programlisting language="php"><![CDATA[
  64. $bbcode = Zend_Markup::factory('Bbcode');
  65. echo $bbcode->render('some [i]wrong [b]sample [/i] text');
  66. // '[b]' は決して閉じられておらず、また不正確にネストされていることに注意しましょう。
  67. // それにもかかわらず、 Zend_Markup は以下のように正確にレンダリングします:
  68. // some <em>wrong <strong>sample </strong></em><strong> text</strong>
  69. ]]></programlisting>
  70. </example>
  71. </sect1>