BBCode

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Fussball-Philosoph
Mitglied
Beiträge: 26
Registriert: 29.12.2006 21:17
Wohnort: Köln

BBCode

Beitrag von Fussball-Philosoph »

Hallo zusammen!

Eines vorweg;
Ja, ich habe die Suchfunktion genutzt, um Antworten auf meine Fragen zu bekommen. Aber in Anbetracht von 2963 Ergebnissen, die ich zum Thema BBCode erhalten habe, sollte mir nachgesehen werden, diese Frage direkt an Euch gerichtet zu haben. Danke für Euer Verständnis! :wink:

Zum BBCode;
Ich habe den BBCode in meinem Forum deaktiviert, um in erster Linie der freien Nutzung der Schriftgröße bzw. der Schriftfarbe Einhalt zu gebieten. Bedauerlicherweise hat die Deaktivierung des BBCodes aber auch zur Folge, dass die zitierten Beiträge nicht korrekt dargestellt werden, sondern lediglich umklammert angezeigt werden.

Gibt es eine Möglichkeit den BBCode ausschließlich für die Schriftgröße, Schriftfarbe sowie für die B,I,U-Funktionen zu deaktivieren, so dass die Darstellungen der Zitate und möglicherweise auch die URL-Funktion davon unbetroffen bleiben?

Vielen Dank im Voraus für Eure Antworten!

Gruß,
F-P
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Diskrete BBcodes Deaktivieren

Beitrag von gn#36 »

Ja die gibt es in der Tat, dazu sind allerdings kleinere Codeänderungen notwendig.
Zunächst einmal sollten natürlich die unerwünschten Buttons aus dem Posting-Template entfernt werden. Hierzu öffne die posting_body.tpl Datei und entferne die Buttons zu den unerwünschten BBcodes.
Im Style SubSilver sähe z.B. der Button für Fettschrift so aus:

Code: Alles auswählen

<input type="button" class="button" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onClick="bbstyle(0)" onMouseOver="helpline('b')" />
Die anderen Buttons sind ganz in der Nähe dieser Codestelle, hier einfach die unerwünschten entfernen.

Als nächste sollte dann der BBcode tatsächlich deaktiviert werden. Hierzu ist die bbcode.php zu bearbeiten. Zu jedem BBcode gibt es Einträge in mindestens 3 Funktionen, in zwei dieser Funktionen sollte der entsprechende Code auskommentiert werden. Ich werde das am Beispiel des Tags einmal durchspielen, für alle anderen funktioniert es ganz genau so, nur dass andere Codestellen auskommentiert werden müssen.
Also: Öffne includes/bbcode.php
Finde in der Funktion bbencode_second_pass($text, $uid)

Code: Alles auswählen

// [b] and [/b] for bolding text.
	$text = str_replace("[b:$uid]", $bbcode_tpl['b_open'], $text);
	$text = str_replace("[/b:$uid]", $bbcode_tpl['b_close'], $text);
Ersetze das durch das hier:

Code: Alles auswählen

// [b] and [/b] for bolding text.
	//$text = str_replace("[b:$uid]", $bbcode_tpl['b_open'], $text);
	//$text = str_replace("[/b:$uid]", $bbcode_tpl['b_close'], $text);
Finde nun in der Funktion bbencode_first_pass($text, $uid)

Code: Alles auswählen

// [b] and [/b] for bolding text.
	$text = preg_replace("#\[b\](.*?)\[/b\]#si", "[b:$uid]\\1[/b:$uid]", $text);
Ersetze dies durch

Code: Alles auswählen

// [b] and [/b] for bolding text.
	//$text = preg_replace("#\[b\](.*?)\[/b\]#si", "[b:$uid]\\1[/b:$uid]", $text);
Effektiv habe ich damit lediglich die Stellen auskommentiert, die die Ersetzung des BBcodes durch den "richtigen" HTML Code durchführen.
Möchtest du [size] auskommentieren, dann musst du natürlich entsprechend nach

Code: Alles auswählen

// size
	$text = preg_replace("/\[size=([1-2]?[0-9]):$uid\]/si", $bbcode_tpl['size_open'], $text);
	$text = str_replace("[/size:$uid]", $bbcode_tpl['size_close'], $text);
und nach

Code: Alles auswählen

// [size] and [/size] for setting text size
	$text = preg_replace("#\[size=([1-2]?[0-9])\](.*?)\[/size\]#si", "[size=\\1:$uid]\\2[/size:$uid]", $text);
suchen. Schau dir die Datei einfach mal an, an den Codezeilen in den beiden genannten Funktionen steht jeweils mit einem Kommentar dran, welche Ersetzung diese Zeile jeweils vornehmen soll, du brauchst sie nur auskommentieren, dann kann der entsprechende BBcode nicht mehr verwendet werden. Achte allerdings darauf dass du die Auskommentierung immer in beiden Funktionen vornimmst (Außer bei den URLs, diese kommen lediglich in der bbencode_second_pass vor.)

Wichtig: Vor den Änderungen (egal welcher Art) immer vorher ein Backup machen.
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.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“