Jump to content

BBEngine : Dynamically Extendable BBCode Parser/UnParser


ASDen

Recommended Posts

Hello

This idea is based on giving an easily extendable BBCode Parser not just with smiles or simple BBCodes but also with Complex ones ( nested , custom PHP handling function )

In PHPClasses : http://www.phpclasses.org/browse/package/4829.html

Documentation , Details & Example : http://harrrrpo.googlepages.com/bbengine

---

Features and main points in brief :-

1)It depends on saving tags info in a DB for easy Extendability (as it provides out-of-code dynamic of adding , removing and deleting )

 

2)Provides Processing Priority for each tag allowing for writting tags that depends on each others with no code modifications

 

3)The Class Provides Parsing/UnParsing in 4 types


  •  
             
  • Direct Words : Directly replace words with others like ( {:)} =>Smile photo (html <img>) )
             
  • Direct Tags : Replace Html Tags with BBCode directly (text replace) like ( {b}ASD{/b} => <strong>ASD</strong> )

  • Indirect Non Recursive : Mainpulate content in BBCode with user defined function both for Parsing & UnParsing (Stored in DB) Content and Arguments of BB tag is supplied to the function here BBCode tags can't be Nested like ( {url=http://google.com}Google{/url} => {a href="http://google.com"}Google{/a} )
  • Indirect Recursive : The Same Indirect manner with the added ability of Parsing Nested tags like ( {size=20}Big {size=40}Bigger{/size}Word{/size} => <span style="font-size: 20px;">Big<span style="font-size:40px;">Big Label</span>Word</span> )
     

 

( ofcource { here denotes [ but written like that not to be recognized by forum Parser )

         

4)It also comes with some pre-made BBCodes as an SQL dump to provide most famous BBCodes

----

want to hear from you what you think about idea , implementation and any possible enhancements

 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.