Zeilenumbruch am Anfang und Ende in [code] entfernen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Maxe
Mitglied
Beiträge: 154
Registriert: 15.07.2006 00:17

Zeilenumbruch am Anfang und Ende in [code] entfernen

Beitragvon Maxe » 06.07.2015 18:23

Hllo zusammen,

gleich eins vorweg - ich benutze noch phpBB2 und möchte kein Update auf 3 ;-)

In meinem Forum habe ich in der bbCode Umgebung für die Formatierung "code" das Problem, dass ich gerne die ersten Zeilenumbrüche und die letzten entfernen möchte.

Grund ist folgender - viele User setzen den bbCode-Start, machen einen oder mehrere Zeilenumbrüchen, dann kommt erst der wirkliche Code.
Diesen Leeren Platz möchte ich entfernen bei der Darstellung.

Ich habe schon von der trim Funktion gehört und auch schon viel ausprobiert. Leider ohne Erfolg.

Meine Idee wäre es, die Zeilenumbrüche direkt beim Speichern der Nachricht in die DB zu entfernen.
Mir wäre es aber auch egal, wenn man es bei jedem Anzeigen "rauslöscht".

Randinfo falls wichtig: Ich verwende Geshi zur Code-Aufbereitung.

Habt ihr eine Lösung?
Das gleiche Verhalten hat übrigens auch die quote Funktion. Vielleicht kann man alles mit einer Klappe erschlagen?!

Viele liebe Grüße und vorab herzlichen Dank für die Unterschützung eines phpBB Rentners (phpBB2) ;-)
Maxe

Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9175
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Zeilenumbruch am Anfang und Ende in [code] entfernen

Beitragvon gn#36 » 07.07.2015 11:12

Ebenso vorab: phpBB 2 ist für mich schon ziemlich lange her - ein bisschen was wirst du selbst ausprobieren müssen. Alles folgende ist ungetestet. Also bitte an einem Backup ausprobieren - nicht dass dir alle neuen Beiträge und Edits kaputtgehen.

In der includes/functions_bbcode.php gibt es in der Funktion bbencode_first_pass_pda ca. in Zeile 430 folgende Stelle:

Code: Alles auswählen

if ($found_start)
{

An dieser Stelle wurde für diverse BBcodes ein Start-Tag gefunden (also um genau zu sein [ quote=... ], [ code ], [ list ]). Die Position im Text steht in $curr_pos, wobei das die Position des [ ist. Es wäre also möglich, den nachfolgenden Text an genau der Stelle zu manipulieren. Das ist bei [ code ] leichter als bei [ quote ], weil die Quote Tags mit [ quote= ... ] beliebig lang werden können. Wie die Tags identifiziert werden findest du direkt oben drüber. Praktischerweise steht zu diesem Zeitpunkt in der Variablen $possible_start der komplette Tag drin. Du kannst also einfach die Länge dieses Strings nehmen um den Tag selbst zu überspringen. Danach musst du nur ab dieser Position sämtlichen Whitespace mit Zeilenumbruch am Ende bis zum ersten Textzeichen löschen. Das geht (ungetestet) zum Beispiel mit sowas ähnlichem wie preg_match("#^(\s*\n)*#is", $text, $matches, $curr_pos + strlen($possible_start)).

Den Rest musst du selbst machen ;)

Beachte, dass diese Änderung nur neue Beiträge betreffen wird, weil das aufwändige Parsing der Code Tags nur beim speichern der Beiträge durchgeführt wird. Es gab aber meine ich mal Tools mit denen du alle Beiträge neu parsen kannst. Sonst musst du im Zweifel bei allen älteren Beiträgen, die problematisch sind ein mal kurz bearbeiten und wieder speichern.
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.


Zurück zu „phpBB 2.0: Mod Suche/Anfragen“