Seite 1 von 2
Eigenen BB-Code für eine Homepage
Verfasst: 24.09.2007 21:24
von UGC
Hallo,
ich wollte mal fragen, ob jemand weiß, wie ich einen BB-Code für meine Homepage machen kann.
So das zB. "
" ersetzt wird durch "<a href='link' target=_blank></a>"
Verfasst: 24.09.2007 21:30
von fanrpg
Ich würde sagen mit preg_replace().
Code: Alles auswählen
$str = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>
Müsste im Prinzip funktionieren.
Aber einsetzen würde ich es trotzdem nicht da (.*?) viel zu unsicher ist.
([\w\#$%&~/.\-;:=,?@\[\]+]+?) (von phpBB genommen) würde es schon sicherer sein. Je nach Art des Einsatzes ist das eine komfortabler (würde ich nur nutzen wenn wirklich nur ich und vertrauenswürdige Personen es benutzen können) sonst nicht, ansonsten die untere Zeichenkette da es die Sicherheit erhöht, sonst kann man alles einschleusen in die Seite was man will.
Verfasst: 24.09.2007 21:58
von UGC
also statt dem (.*?) soll ich diese Zeichen nehmen?
Verfasst: 24.09.2007 22:06
von UGC
Der Code
Code: Alles auswählen
$str = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>
funzt net.
Verfasst: 24.09.2007 22:26
von speedtouch92
Das sollte funzen, aber nur bei
deintext
aber nicht bei
deineseite
Verfasst: 24.09.2007 22:31
von UGC
Ich habe zum Testen Wortwörtlich den Code
Code: Alles auswählen
$str = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>
eingegeben(reinkopiert), aber es funktioniert nicht.
Fehlermeldung:
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\bbcodes.php on line 3
Verfasst: 24.09.2007 22:39
von gn#36
[PHP:preg_replace]
Du wirst feststellen dass der Funktionsaufruf noch nicht komplett ist.
Außerdem gehört zu jeder öffnenden Klammer in PHP Quelltext immer eine Schließende wenn sie nicht gerade in einem String steht und nach jedem Befehl muss ein Semikolon stehen und jeder String der mit ' begonnen wurde sollte auch mit ' enden, für " gilt das gleiche.
Verfasst: 24.09.2007 22:48
von UGC
Ich bekomm das nicht hin.
Kann mir mal jemand einen kompletten Beispiel-BB-Code für den [ url ] machen?
Der zu ersetzene Text steht in $nachricht
Verfasst: 24.09.2007 23:04
von fanrpg
Code: Alles auswählen
$nachricht = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>', $nachricht);
Sollte funktionieren..
Verfasst: 24.09.2007 23:11
von UGC
Danke, super!
Das funktioniert perfekt.
Jetzt aber noch eine Frage:
Ich wollte das so machen, dass wenn man auf einen Button klickt dann automatisch [ url ] eingefügt wird. Und bei nochmal klicken [ /url ]
Wie mache ich das?