Sorry für doppelpost aber kann ja nicht editieren!
So mal wieder seit vor um 6:00 Uhr wach, gestern 4:30, und natürlich die Finger nicht still gehalten und das Hirn zum rauchen gebracht, bzw Fleissig gewesen!
Meine BBCodeEngine kann nun auch mehrere Parameter verarbeiten *Freu!
Wird demnächst als Download zur Verfügung stehen und als bald in das Repo einfliessen! Aber will erst noch im Extensionmanager die Update und Deinstall Optionen fertig machen, sollte heute abgehackt werden!
Es wird noch ein BBCodeEditor implementiert, aber nich heute und nicht morgen

!
Hier mal ein Beispiel für ein Imagetag mit width und height
Code: Alles auswählen
push_bbcode ($bbcodes,"img");
tag_replace ($bbcodes["img"], "open",'<img src="$url" style="width:$width; height:$height" alt="image : $url">');
tag_replace ($bbcodes["img"], "close","</img>");
push_param ($bbcodes["img"],' ','$url','img=');
push_param ($bbcodes["img"],' ','$width','width=');
push_param ($bbcodes["img"],' ','$height','height=');
Denke an den Funktionsnamen werde ich noch was ändern, aber erstmal funktioniert alles wie es soll!
push_bbcode (später bbcode_register zB.!) ........einen BBCode-Tag anlegen.
tag_replace ($bbcodes["img"], "open" ......opentag replacement anlegen (später bbcode_replace)
closetag replacement anlegen (später bbcode_replace)
push_param ($bbcodes["img"],' ','$width','width='); ........parameter anlegen (später bbcode_param)
Mal schauen ob es noch schwachstellen gibt, aber im CMS tut die "Engine" Ihre Arbeit sehr gut!
Wer sowas benötigt, wie gesagt das Final sobald ich alles Dokumentiert habe werde ich als Download zur Verfügung stellen.
mfg. Patrick
EDIT : Achso ganz vergessen das Beste sollte ich nicht vorenthalten

, aber viel Sagen werde ich dazu jetzt nich, ausser man kann auch Funktionen an die BBCodes übergeben. (PHP 5.3 !!!)
Code: Alles auswählen
push_bbcode ($bbcodes,"download");
tag_replace ($bbcodes["download"], "open",'<a href="index.php?cmd=download&arg=$name"><div class="download"><p>download</p><br>');
tag_replace ($bbcodes["download"], "close","</div></a>");
push_param ($bbcodes["download"],'','$name','=');
tag_functor ($bbcodes["download"], "close",'getcounts','$name');
function getcounts ($name) {
return '<div style="display:inline; float:right">('.counter::Get($name).'x)</div>';
}