Anzahl Zeichen in einem Beitrag

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 entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Anzahl Zeichen in einem Beitrag

Beitrag von redbull254 »

Hallo erstmal,

es geht um diese Einstellung im ACP:
Minimale Anzahl von Zeichen pro Beitrag/Nachricht:
Die minimale Anzahl von Zeichen, die ein Benutzer in einem Beitrag/einer Nachricht mindestens eingeben muss. Der Wert muss 1 oder größer sein
An sich eine feine Funktion, um schreibfaule User ein bissel zu beeinflussen, damit sie mehr Text schreiben. Leider werden beim Einfügen von Dateianhängen (Bilder) auch die Bezeichnungen mit dazu gezählt. Wenn also jemand ein Bild einfügt und einen langen Bildnamen wählt, braucht er nur noch minimal Text einfügen. Das hebelt den Sinn der Funktion völlig aus. Daher suche ich ein Snippet, dass es ermöglicht, dass nur der eigentliche Text in einem Beitrag gezählt wird und die Bezeichnung der Dateianhänge völlig unberücksichtigt bleibt. Idealerweise gilt das Gleiche bei Smilies, auch deren Kurznamen werden berücksichtigt. :(
Zuletzt geändert von redbull254 am 15.04.2015 23:46, insgesamt 1-mal geändert.
Beste Grüße
Walter
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Anzahl Zeichen in einem Beitrag

Beitrag von Elsensee »

Sowas ähnliches dachten wir uns auch. :wink:
Deswegen haben wir die Funktion strip_bbcode() verwendet, die aber leider anders funktioniert als man es erst erwartet. :roll:

Was soll's... Hier das Snippet:

Öffne: includes/message_parser.php
Finde:

Code: Alles auswählen

$message_length = ($mode == 'post') ? utf8_strlen($this->message) : utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $this->message)); 
Ersetzen mit:

Code: Alles auswählen

$stripped_text = $this->message;
strip_bbcode($stripped_text);
$message_length = ($mode == 'post') ? utf8_strlen($stripped_text) : utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $stripped_text)); 
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Re: Anzahl Zeichen in einem Beitrag

Beitrag von redbull254 »

Hallo @Elsensee :)

erst einmal vielen Dank für die schnelle Hilfe. Leider funktioniert es bei mir nicht. Es wird trotz Änderung weiterhin alles gezählt.

Beim Einfügen eines Bildes ohne beigefügten Text :
[_attachment=0]2 DSC_0525 EBV.jpg[/attachment_] //Die Unterstriche dienen nur dazu, dass hier die "attachment" angezeigt werden.
erscheint folgende Meldung, wenn ich die Vorschau anklicke:
Deine Nachricht enthält 45 Zeichen. Es müssen jedoch mindestens 50 Zeichen verwendet werden
Beste Grüße
Walter
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Anzahl Zeichen in einem Beitrag

Beitrag von Elsensee »

Argh, stimmt. Ich hatte vergessen, dass der Dateiname ja in die Tags eingeschlossen wird. :oops:

Dann machen wir folgendes: (wir bleiben bei der Zeile :D )

Öffne: includes/message_parser.php
Finde:

Code: Alles auswählen

$message_length = ($mode == 'post') ? utf8_strlen($this->message) : utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $this->message)); 
Ersetze mit:

Code: Alles auswählen

$stripped_text = preg_replace('#\[attachment=([0-9]+)\](.*?)\[/attachment\]#ius', '', $this->message);
strip_bbcode($stripped_text);
$message_length = ($mode == 'post') ? utf8_strlen($stripped_text) : utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $stripped_text)); 
Dies entfernt nun die attachment-BBCodes inklusive Inhalt sowie alle anderen BBCode-Tags (aber da natürlich nur die Tags und nicht den Inhalt :wink: )
Wenn du nicht willst, dass die Tags der anderen BBCodes mitentfernt werden, dann kannst du die mittlere Zeile strip_bbcode($stripped_text); einfach weglassen.
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Re: Anzahl Zeichen in einem Beitrag

Beitrag von redbull254 »

Danke für die Änderung, nun funktioniert es. :grin:
Ich habe es ausgiebig getestet und kann nicht feststellen, ob die Änderung irgendwelche Nachteile hat, außer dem Vorteil, dass nun die Zeichenzählung so funktioniert, wie ich es erwartet habe. Nun frage ich mich, ob es einen Nachteil gibt, den ich nicht bemerke oder warum haben die Entwickler diese Änderung nicht von vornherein gemacht?
Beste Grüße
Walter
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“