<?php
/**
* This is a some examples about common operations of class
* In order for Parsing & UnParsing examples to be useful
* you must import the DB Backup given in DB Stated in your
* Config file
* @package Examples
* @author Mohammed Yousef Bassyouni <harrrrpo@gmail.com>
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
/**
* Examples on Inserting Types of Tags to DB
*/
require ("../Config.php");
require ("../BBE_DB_Op.php");
$DBOp=new BBE_DB_Operations();
/**
* First Adding a Direct Tag
* our example here is the [center] famout BBCode
* we replace it with <div> that has the arguments style="text-align: center;"
* and give it a priority 1.23 (really just another number and for this case does't have impact)
*/
$DBOp->Add_Direct_Tag_BB("center","div","style=\"text-align: center;\"",1.23);
//-------------------------------
/**
* Second Adding a Direct word
* our example here is the famout :happy: smile
* we directly replace it with an image
* NOTE : Here a direct Case insensitive replace happen so be careful
*/
$DBOp->Add_Direct_Word_BB(":happy:","<img src=\"http://arabteam2000-forum.com/style_emoticons/default/happy.gif\" border=\"0\">",3.8);
//-----------------------------------
/**
* Third Adding an Indirect Recursive tag
* our example here is for a strange tag UPP to converts to upper case and optionally takes
* a Strart and End points (e.g. [UPP Startm Start=2 End=4]Another Sad Story[/UPP])
* First we provide the Replacing function (using heredoc NOTE TAKE CARE OF ESCAPING $ in heredoc
* A very Appealing alternative is newdoc if you are using PHP >=5.3)
* which is passed two varaibles Start and End
*
* After that the reversing function which converts BBCode to Html
* In inserting we specify tag as recursive (as we can write [UPP] QQ CC[UPP]BB NN MM[/UPP]VV BB[/UPP])
*/
$Func=<<<EOF
if (!isset(\$Args['Start']) ||!isset(\$Args['End']))
return strtoupper(\$Data);
else
return strtolower(substr(\$Data,0,\$Args['Start'])).strtoupper(substr(\$Data,\$Args['Start'],\$Args['End']-\$Args['Start']+1)).strtolower(substr(\$Data,\$Args['End']+1));
EOF;
$R_Func=<<<EOF
\$c=0;
\$st=-1;
for (\$i=0;\$i<strlen(\$Data);\$i++)
{
if (\$Data[\$i]<="Z" && \$Data[\$i]>="A")
{
\$c++;
if (\$st==-1)\$st=\$i;
}
}
\$end=\$st+\$c-1;
return "[UPP Start={\$st} End={\$end}]".strtolower(\$Data)."[/UPP]";
EOF;
$DBOp->Add_Indirect_BB("UPP","",mysql_real_escape_string($Func),"Upper Maker",3.9,1,mysql_real_escape_string($R_Func));
?>
|