<?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 <[email protected]> 
 * @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)); 
?>
 
 |