Here is the patch I hope i didn't make too many errors
------------------------------- Index: .cvsignore =================================================================== --- .cvsignore (revision 2) +++ .cvsignore (working copy) @@ -0,0 +1 @@ +functions.xml Index: configure.xml =================================================================== --- configure.xml (revision 2) +++ configure.xml (working copy) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<section xml:id="bbcode.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> + &reftitle.install; + <para> + &pecl.info; + <link xlink:href="&url.pecl.package;fileinfo">&url.pecl.package;bbcode</link> + </para> +</section> + + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: constants.xml =================================================================== --- constants.xml (revision 2) +++ constants.xml (working copy) @@ -0,0 +1,106 @@ +<?xml version='1.0' encoding='iso-8859-1'?> +<!-- $Revision: 1.0 $ --> +<section xml:id="bbcode.constants" xmlns="http://docbook.org/ns/docbook"> + &reftitle.constants; + &extension.constants; + <variablelist> + <varlistentry> + <term> + <constant>BBCODE_TYPE_NOARG</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag does not accept arguments. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_TYPE_SINGLE</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag does not have corresponding close tag. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_TYPE_ARG</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag need an argument. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_TYPE_OPTARG</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag accepts an optional argument. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_TYPE_ROOT</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag is the special tag root (nesting level 0). + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_FLAGS_ARG_PARSING</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode tag require argument subparsing (the argument is reparsed by the BBCode extension). + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <constant>BBCODE_FLAGS_CDATA_NOT_ALLOWED</constant> + (<type>integer</type>) + </term> + <listitem> + <simpara> + This BBCode Tag does not accept content (it voids it automaticaly). + </simpara> + </listitem> + </varlistentry> + </variablelist> +</section> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: functions/bbcode-add-element.xml =================================================================== --- functions/bbcode-add-element.xml (revision 2) +++ functions/bbcode-add-element.xml (working copy) @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<refentry xml:id="function.bbcode-add-element" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>bbcode_add_element</refname> + <refpurpose>Close fileinfo resource</refpurpose> + </refnamediv> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>bool</type><methodname>bbcode_add_element</methodname> + <methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam> + <methodparam><type>string</type><parameter>tag_name</parameter></methodparam> + <methodparam><type>array</type><parameter>tag_rules</parameter></methodparam> + </methodsynopsis> + + <para> + This function adds a tag to an existing BBCode_Container tag_set see + <function>bbcode_create</function> for the format needed for tag_rules + </para> + + </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>bbcode_container</parameter></term> + <listitem> + <para> + BBCode_Container resource returned by <function>bbcode_create</function>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>tag_name</parameter></term> + <listitem> + <para> + The new tag to add to the BBCode_Container tag set. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>tag_rules</parameter></term> + <listitem> + <para> + An associative array containing the parsing rules see + <function>bbcode_create</function> for the keys availables + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + &return.success; + </para> + </refsect1> + +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: functions/bbcode-create.xml =================================================================== --- functions/bbcode-create.xml (revision 2) +++ functions/bbcode-create.xml (working copy) @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<refentry xml:id="function.bbcode-create" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>bbcode_create</refname> + <refpurpose>Create a BBCode Ressource</refpurpose> + </refnamediv> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <methodparam choice="opt"><type>array</type><parameter>bbcode_initial_tags</parameter></methodparam> + </methodsynopsis> + + <para> + This function starts a new BBCode Ressource used to pars BBCode strings + </para> + + </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>bbcode_initial_tags</parameter></term> + <listitem> + <para> + It's an associative array containing tag name as keys and parameters + needed to correctly parse BBCode as value in an associative array of + the form: + <itemizedlist> + <listitem> + <simpara> + <varname remap="structfield">flags</varname> optional - a flag + set based on the BBCODE_FLAGS_* constants. + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">type</varname> needed - an int + indicating the type of tag use the BBCODE_TYPE_* constants + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">open_tag</varname> needed - the HTML + replacement for the open tag. + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">close_tag</varname> needed - the HTML + replacement for the close tag. + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">default_arg</varname> optional - + it gives the default argument if tag_type is of type OPTARG + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">content_handling</varname> optional - + Gives the name of the function used as callback for modification + of the content - currently only supports functions not methods. + callback layout is: function name($content,$argument){return + $content;} + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">param_handling</varname> optional - + Gives the name of the function used as callback for modification + of the argument - currently only supports functions not methods. + callback layout is: function name($content,$argument){return + $parameter;} + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">childs</varname> optional - List of + accepted childs for the tag. The format of the list is a comma + separated string. If the list starts with ! it will be the list of + rejected childs for the tag. + </simpara> + </listitem> + <listitem> + <simpara> + <varname remap="structfield">parent</varname> optional - List of + accepted childs for the tag. The format of the list is a comma + separated string. + </simpara> + </listitem> + </itemizedlist> + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + Returns a BBCode_Container + </para> + </refsect1> + <refsect1 role="examples"> + &reftitle.examples; + <para> + <example> + <title><function>bbcode_create</function> example</title> + <programlisting role="php"> +<![CDATA[ +<?php +$arrayBBCode=array( + ''=> array('type'=>BBCODE_TYPE_ROOT, 'childs'=>'!i'), + 'i'=> array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>', + 'close_tag'=>'</i>', 'childs'=>'b'), + 'url'=> array('type'=>BBCODE_TYPE_OPTARG, + 'open_tag'=>'<a href="{PARAM}">', 'close_tag'=>'</a>', + 'default_arg'=>'{CONTENT}' + 'childs'=>'bi'), + 'img'=> array('type'=>BBCODE_TYPE_NOARG, + 'open_tag'=>'<img src="', 'close_tag'=>'" />', + 'childs'=>''), + 'b'=> array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>', + 'close_tag'=>'</b>'), +); +$text=<<<EOF +[b]Bold Text[/b] +[i]Italic Text[/i] +[url]http://www.php.net/[/url] +[url=http://pecl.php.net/][b]Content Text[/b][/url] +[img]http://static.php.net/www.php.net/images/php.gif[/img] +[url=http://www.php.net/] +[img]http://static.php.net/www.php.net/images/php.gif[/img] +[/url] +EOF; +$BBHandler=bbcode_create($arrayBBCode); +echo bbcode_parse($BBHandler,$text); +?> +]]> + </programlisting> + &example.outputs; + <screen> +<![CDATA[ +<b>Bold Text</b> +<i>Italic Text</i> +<a href="http://www.php.net/">http://www.php.net/</a> +<a href="http://pecl.php.net/"><b>Content Text</b></a> +<img src="http://static.php.net/www.php.net/images/php.gif" /> +<a href="http://www.php.net/"> +[img]http://static.php.net/www.php.net/images/php.gif[/img] +</a> +]]> + </screen> + </example> + </para> + </refsect1> + +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: functions/bbcode-destroy.xml =================================================================== --- functions/bbcode-destroy.xml (revision 2) +++ functions/bbcode-destroy.xml (working copy) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<refentry xml:id="function.bbcode-destroy" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>bbcode_destroy</refname> + <refpurpose>Close BBCode_container resource</refpurpose> + </refnamediv> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>bool</type><methodname>finfo_close</methodname> + <methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam> + </methodsynopsis> + + <para> + This function closes the resource opened by <function>bbcode_create</function>. + </para> + + </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>bbcode</parameter></term> + <listitem> + <para> + BBCode_Container resource returned by <function>bbcode_create</function>. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + &return.success; + </para> + </refsect1> + +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: functions/bbcode-parse.xml =================================================================== --- functions/bbcode-parse.xml (revision 2) +++ functions/bbcode-parse.xml (working copy) @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<refentry xml:id="function.bbcode_parse" xmlns="http://docbook.org/ns/docbook"> + <refnamediv> + <refname>bbcode_parse</refname> + <refpurpose>Parse a string following a given rule set</refpurpose> + </refnamediv> + <refsect1 role="description"> + &reftitle.description; + <methodsynopsis> + <type>string</type><methodname>bbcode_parse</methodname> + <methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam> + <methodparam><type>string</type><parameter>to_parse</parameter></methodparam> + </methodsynopsis> + + <para> + This function parse the string to_parse following the rules in the + bbcode_container created by bbcode_create + </para> + + </refsect1> + <refsect1 role="parameters"> + &reftitle.parameters; + <para> + <variablelist> + <varlistentry> + <term><parameter>bbcode_container</parameter></term> + <listitem> + <para> + BBCode_Container resource returned by <function>bbcode_create</function>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>to_parse</parameter></term> + <listitem> + <para> + The string we need to parse. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </refsect1> + <refsect1 role="returnvalues"> + &reftitle.returnvalues; + <para> + &return.success; + </para> + </refsect1> + +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> Index: reference.xml =================================================================== --- reference.xml (revision 2) +++ reference.xml (working copy) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.0 $ --> +<!-- Membership: external, pecl --> +<reference xml:id="ref.bbcode" xmlns="http://docbook.org/ns/docbook"> + <title>BBCode Functions</title> + <titleabbrev>BBCode</titleabbrev> + + <partintro> + <section xml:id="bbcode.intro"> + &reftitle.intro; + <para> + The functions of this extensions are aimed to help parse BBCode text in + order to convert it to HTML or another markup / markdown langage. It uses + a one pass parsing and provides great speed improvement over the common + approach based on regular expressions. Further more, it helps provide + valid HTML by reordering open / close tags and closing automaticaly + unclosed tags. + </para> + </section> + + <!-- Information found in configure.xml --> + &reference.bbcode.configure; + + <section xml:id="bbcode.configuration"> + &reftitle.runtime; + &no.config; + </section> + + <section xml:id="bbcode.resources"> + &reftitle.resources; + <para> + There is one resource used in BBCode extension: a BBCode_Container + returned by <function>bbcode_create</function>. + </para> + </section> + <!-- Information found in constants.xml --> + &reference.bbcode.constants; + </partintro> + &reference.bbcode.functions; +</reference> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +sgml-parent-document:nil +sgml-default-dtd-file:"../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> ------------------------------- On Fri, 20 Jul 2007 14:11:11 -0700, Philip Olson <[EMAIL PROTECTED]> wrote: > > On Jul 19, 2007, at 4:09 PM, Xavier De Cock wrote: > >> I'm maintainer of the pecl BBCode Extension and i'm trying to make >> some >> documentation for this module in order to help other users >> >> Make use of the entire capabilities of this extension without >> needing to >> read the source file (i needed to do this for way too many extensions) >> therefore if it is possible, i'll be glad to produce documentation. >> (i'm >> able to produce English and french documentation without any major >> problem). >> >> In advance, thanks for your help. > > You now have the karma... document away! :) Please submit a few > initial patches to the list for review so that we may help if needed. > > Regards, > Philip -- Xavier De Cock http://www.bmco.be/