HTMLArea RTE Zeichen zählen

Um die getippten / eingefügten Zeichen eines TYPO3 HTMLArea Rich-Text-Editors auszulesen, benötigen wir nur ein simples, kleines JavaScript. An die serverseitige Variante haben wir ebenfalls schon gedacht.

setTimeout(function () {
	var editorName = 'name_and_rte_counterid'; // z.B. meinrtefield_1
	RTEarea[editorName].editor.iframe.events.htmlareaeventwordcountchange.addListener(function() { setTimeout(function() { RTECheckChars(RTEarea[editorName]); }, 20); });
	RTECheckChars(RTEarea[editorName]);
}, 1000);
 
function RTECheckChars(checkRte) {
	var text = checkRte.editor.getHTML();
	text = text.replace(HTMLArea.RE_htmlTag, ' ');
	text = text.replace(/ | /gi, ' ');
	console.log(text.length); // ---- AUSGABE ----
	return false;
}

Die Ausgabe im JavaScript könnt ihr natürlich dazu nutzen, um den User anzuzeigen wie viele Zeichen er bereits getippt hat, wie viele Zeichen er noch übrig hat (wenn die Zeichnanzahl begrenzt sein soll) und wie viele Zeichen er zu viel getippt hat.

Mit der PHP Variante zählen wir exakt wie die JavaScript Variante die Zeichen im RTE. Somit können wir hier nochmals vor dem Speichern serverseitig checken, ob die Zeichenanzahl korrekt ist / nicht überschritten wurde / oder was auch immer.

private function getRteChars($rte) {
	$checkRteText = $this->pi_RTEcssText($rte);
	$checkRteText = strip_tags($checkRteText);
	$checkRteText = str_replace(' ', ' ', $checkRteText);
	$checkRteText = str_replace('&', ' ', $checkRteText);
	$checkRteText = str_replace(' ', ' ', $checkRteText);
	return mb_strlen($checkRteText, "utf-8");
}

Als Parameter wird natürlich die POST-Variable des RTEs übergeben.

Falls jemand etwas in dieser Richtung gesucht hat, hoffe ich, ich konnte helfen.

Bis dahin!

Bewerte diese Seite

 
 
 
 
 
 
 
Bewerten
 
 
 
 
 
 
2 Bewertungen
80 %
1
5
4
 

Veröffentlicht von

Kevin Lieser

Kevin Lieser

Kevin Lieser ist ausgebildeter Mediendesigner und seit 2008 mit der TYPO3 Agentur KA Mediendesign unternehmerisch tätig. Seine Leidenschaften sind gutes Webdesign und die PHP Programmierung. Als App Entwickler und Autor mehrerer TYPO3 Extensions engagiert er sich aktiv für die Weiterentwicklung von Webapplikationen und mobilen Anwendungen.