Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
CharacterCount
#21
geht auch bei mir nun... danke!
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#22
Huhu  Smile

(01.02.2015, 20:25)waldo schrieb: So war es immer gewesen, dass die Zeichenzahl direkt angezeigt wurde.
Leider musste ich es für MyBB 1.8 ändern. da der SCEditor beim Tippen unendlich langsam wurde, wenn jeder einzelne Tastendruck überprüft wird.
Bei längeren Texten konnte man zwischen dem Tippen und dem Zeitpunkt, wenn der Text auch im Editor erscheint, einen Kaffee trinken gehen.  Wink

Also kurz gesagt, es ist möglich, aber man wird keine Freude daran haben zusammen mit dem SCEditor, leider.

Und wie ist das in Verbindung mit dem markItUp! Editor für MyBB? Was müsste man dann ändern, damit es die Zeichen/Wörter aktuell mitzählt? Oder wäre der Editor auch zu langsam?

Zusätzlich würde ich gerne die Anzeige für verbleibende/max Zeichen würde rausnehmen. Nur um sicher zu gehen, dass ich keinen Mist baue:
Müsste das gehen, wenn ich zwei mal
PHP-Code:
$("#showData").html(length msg_max "'.$maxchars.'" msg_input "(" num_left msg_left ") / " numWords msg_words); 
gegen
PHP-Code:
$("#showData").html(length msg_input"/ " numWords msg_words); 
austausche?
Zitieren
#23
1. Für den markItUp Editor müsste man gar nichts ändern, mit dem funktioniert es, so wie es ist. Smile

2. Du müsstest die Zeile insgesamt drei mal austauschen, aber du hast noch eine Klammer statt eines + darin, es müsste so aussehen:
Code:
$("#showData").html(length + msg_input + " / " + numWords + msg_words);
Zitieren
#24
1. Perfekt! 
2. Dankeschön!  Heart

Ich habe auch [^A-Za-z0-9] durch [^A-Za-z0-9äöüßÄÖÜ] ausgetauscht, weil ich gerne die korrekte Anzahl der Wörter hätte, was auch super funktioniert hat. 

Als ich nun getestet habe, ob die Meldung 'Nachricht zu lang' früh genug erscheint, habe ich festgestellt, dass sie viel zu spät auftaucht. 
     
Dabei ist zu erwähnen, dass der eingegebene Text 76751 Zeichen mit Leerzeichen, 65514 ohne Leerzeichen und 11238 Wörter lang ist, wenn ich ihn auf woerter-zaehlen.de/ überprüfe. Er scheint also die Leerzeichen nicht mit zu zählen.
Nun will ich ja lernen, mit solchen Problemen nicht sofort hier her zu rennen und habe versucht, ob es reicht " - space" aus den Funktionen zu löschen, was auch zu funktionieren scheint. Jedenfalls zeigt er mir nun die selbe Textlänge an wie woerter-zaehlen.de/ (65534 Zeichen), allerdings steht oben in der Fehlermeldung: "Die Nachricht ist zu lang. Bitte geben Sie eine Nachricht kürzer als 65535 Zeichen ein (zur Zeit 65541).."

Ich weiß, dass dieser Fall sehr unwahrscheinlich ist, doch weil ich es verstehen möchte: Wo kommen die zusätzlichen 1 bzw 6 Zeichen her?
Zitieren
#25
Die 65535 ist ein Sonderfall, da es die Grenze des MySQL Textfeldes in der Datenbank darstellt (wenn der Feldtyp TEXT ist). Zu den 65535 Zeichen werden in der Datenbank auch Leerzeichen und Zeilenumbrüche gezählt. Außerdem sind Umlaute und Sonderzeichen, wenn sie in Unicode codiert sind, bis zu 4 Bytes groß, d.h. sie belegen jeweils den Platz von mehreren Zeichen, was die Gesamtlänge von 65535 entsprechend reduziert.

Das alles in einem simplen Javascript-Zeichenzähler zu berücksichtigen, nur für den einen Sonderfall, würde einige Ergänzungen brauchen, die die Ausführung  zusätzlich verlangsamen würden.
Wenn du aber möchtest, dass Leerzeichen und Zeilenumbrüche mitgezählt werden, kannst du jeweils bei:
Code:
if(length >= '.$maxchars.')

sowie jeweils bei
Code:
$("#showData").html(length + ...

length zu all_length ändern.
Zitieren
#26
Danke für die Geduld mit mir und die Erklärung, verstehe es nun schon besser, es klappt so wie ich mir das vorgestellt habe  Heart
Zitieren
#27
Guten Morgen <3
Wir haben das Plugin heute installiert, es funktioniert auch,wird aber leider nicht bei den Schnellantworten angezeigt. Woran kann das liegen?

Liebe Grüße
Michi
Zitieren
#28
Spontan fällt mir dazu nur die Möglichkeit ein, dass du ein Plugin wie den Quick Advanced Editor o.ä. installiert hast. Wenn du Character Count zusammen mit diesem Plugin verwenden möchtest, müsstest du in inc/plugins/charcount.php folgende Zeile (~152) löschen:

PHP-Code:
if (isset($mybb->settings['quickadveditorplus_qedit']) && $mybb->settings['quickadveditorplus_qedit'] != && empty($mybb->user['usemheditor']) && THIS_SCRIPT == "showthread.php") return; 
Zitieren
#29
Hallo <3 Danke für die schnelle Hilfe, das ist natürlich tatsächlich auch der Fall. Ich werde mir die besagte Zeile aus der PHP raussuchen und entfernen bzw. auskommentieren. Vielen vielen Dank schon mal! <3

EDIT: Jetzt funktioniert es einwandfrei. Dankefein dafür!
Zitieren
#30
Eine neue Version wurde veröffentlicht: Character Count 2.0
Zitieren