Seite 1 von 1

[LÖSUNG] BBCode mit einer funktion wie "url"

Verfasst: 10.09.2007 18:38
von kolja
nabend forum


ich versuche mich gerade dabei einen eigenen BBCode zu erstellen!
genügend hilfe gibt es eigentlich genug, nur gehen die alle nur auf den einfachen fall ein:
z.b.: aus [b'] wird <b> oder so ...

ich möchte aber gerne, wie bei [url] zwei werte übergeben!
nur sind die beiden vorhandenen BBCodes die das beinhalten (url, zitat) etwas komplizierter...

also was will ich:

der bbcode soll so aussehen:
[kal=Location]Triptychon[/kal]
oder
[kal=Beginn]23 Uhr[/kal]

und der html code so:
<b>Location: </b>Triptychon
oder
<b>Beginn: </b>23 Uhr


die änderungen in der bbc.tpl sind einfach, nur mit dem ersätzen in der bbc.php komme ich nicht zurecht..

hoffe auf hilfe

kolja

ich konnte es ja nicht sein lassen weiter zu suchen...
dieser mod hat mir die augen geöffnet:
http://www.phpbbhacks.com/download/258

und jetzt die lösung für die fragestellung von oben:

öffne: includes/bbcode.php
suche:

Code: Alles auswählen

	$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
	$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url4']);
darunter einfügen:

Code: Alles auswählen

	$bbcode_tpl['kalender4'] = str_replace('{URL}', '\\1', $bbcode_tpl['kalender']);
	$bbcode_tpl['kalender4'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['kalender4']);
suche:

Code: Alles auswählen

	$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
	$replacements[] = $bbcode_tpl['email'];
darunter einfügen:

Code: Alles auswählen

	// [kalender=www.phpbb.com]phpBB[/kalender] code.. (no xxxx:// prefix).
	$patterns[] = "#\[kalender=([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)\](.*?)\[/kalender\]#si";
	$replacements[] = $bbcode_tpl['kalender4'];
öffne: templates/XXX/bbcode.tpl
suche:

Code: Alles auswählen

<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
darunter einfügen

Code: Alles auswählen

<!-- BEGIN kalender --><b>{URL}</b> {DESCRIPTION}<!-- END kalender -->
das wars!

der BBCode sieht bei mir so aus: [kalender=Location:]Triptychon[/kalender]
und das ergebnis im post, so: Location:Triptychon

vielleicht braucht es ja mal wer...

kolja