Nach langen suchen und experimentieren, hab ich es endlich geschaft, das ich mit dem url-tag und der id von z.B. einer Kategorie ein Link erstellen kann. Jetzt will ich es noch universeller machen und hab dabei ein Problem, denn ich müsste dazu einen Wert um die ersten 3 Zeichen Kürzen...
Vorher erst noch was ich gemacht habe, als Bsp nehmen wir mal die Beiträge,d.h. die id vom viewtopic müsste man eingeben um einen Link dorthin zu erstellen :
Code: Alles auswählen
#
#------- [Open]
#
include/bbcode.php
#
#--------[Find]
#
$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url4']);
#
#-------[After, Add]
#
$bbcode_tpl['url5'] = str_replace('{URL}', 'viewtopic.php?p=\\1', $bbcode_tpl['url']);
$bbcode_tpl['url5'] = str_replace('{DESCRIPTION}', 'Beitrag: \\2', $bbcode_tpl['url5']);
#
#--------[Find]
#
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url4'];
#
#-------[After, Add]
#
// [url=id]phpBB[/url] code.. (no xxxx:// prefix).
[code] $patterns[] = "#\[url=([0-9]+)\](.*?)\[/url\]#si";
[/code]
Damit kann man folgendes als bbcode eingeben um einen Link zum 3. Beitrag zu bekommen:
Code: Alles auswählen
[url=3]Link zum 3. Beitrag[/url]
Mein Problem jetzt
Ich würde gerne mehrere verschiedene Forenfunktionen mit dem url-tag gebrauchen wollen, also muss ich etwas zum unterscheiden der funktionen eingeben können.
Bsp1. Um Beitrags-ID's einzugeben, gibt man folgenden bbcode ein (bt=)
Code: Alles auswählen
[url=bt=3]Link zum 3. Beitrag[/url]
Code: Alles auswählen
[url=gr=3]Link zum 3. Beitrag[/url]
Code: Alles auswählen
$patterns[] = "#\[url=([0-9]+)\](.*?)\[/url\]#si";
Code: Alles auswählen
$patterns[] = "#\[url=bt=([0-9]+)\](.*?)\[/url\]#si";
Ich muss aber diese Zeile
Code: Alles auswählen
$bbcode_tpl['url5'] = str_replace('{URL}', 'viewtopic.php?p=\\1', $bbcode_tpl['url']);
auch ändern, damit z.B. das bt= nicht im url auch noch vorhanden ist und somit der Link fehlerhaft ist. M.a.W \\1 muss links um 3 gekürzt werden.
Wie mache ich das?
QO