Eigenen BB-Code für eine Homepage

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
UGC

Eigenen BB-Code für eine Homepage

Beitrag 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>"
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag 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.
UGC

Beitrag von UGC »

also statt dem (.*?) soll ich diese Zeichen nehmen?
UGC

Beitrag von UGC »

Der Code

Code: Alles auswählen

$str = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>
funzt net.
speedtouch92
Mitglied
Beiträge: 104
Registriert: 11.12.2005 16:52
Kontaktdaten:

Beitrag von speedtouch92 »

Das sollte funzen, aber nur bei
deintext

aber nicht bei deineseite
UGC

Beitrag 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
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag 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.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
UGC

Beitrag 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
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

$nachricht = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#i", '<a href="\1" target="_blank">\2</a>', $nachricht);
Sollte funktionieren..
UGC

Beitrag 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?
Antworten

Zurück zu „Coding & Technik“