<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.9 $ --> <refentry xml:id="function.bbcode-create" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>bbcode_create</refname> <refpurpose>Create a BBCode Resource</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>resource</type><methodname>bbcode_create</methodname> <methodparam choice="opt"><type>array</type><parameter>bbcode_initial_tags</parameter></methodparam> </methodsynopsis> <para> This function returns a new BBCode Resource used to parse BBCode strings. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>bbcode_initial_tags</parameter></term> <listitem> <para> An associative array containing the tag names as keys and parameters required to correctly parse BBCode as their value. The following key/value pairs are supported: <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> required - an int indicating the type of tag. Use the BBCODE_TYPE_* constants. </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">open_tag</varname> required - the HTML replacement string for the open tag. </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">close_tag</varname> required - the HTML replacement string for the close tag. </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">default_arg</varname> optional - use this value as the default argument if none is provided and tag_type is of type OPTARG. </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">content_handling</varname> optional - Gives the callback used for modification of the content. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument) </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">param_handling</varname> optional - Gives the callback used for modification of the argument. Object Oriented Notation supported only since 0.10.1 callback prototype is string name(string $content, string $argument) </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">childs</varname> optional - List of accepted child 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 child for the tag. </simpara> </listitem> <listitem> <simpara> <varname remap="structfield">parent</varname> optional - List of accepted child 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'=>'b,i'), '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 -->