Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 03. Mai 2019 14:50

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Die Lesedauer von Texten anzeigen

Nicht wenige Webseiten-Besucher lesen Artikel nicht, sondern klicken spätestens nach der Einleitung weiter. Der Grund ist meist nicht, dass sie sich nicht für das Thema interessieren, sondern sie nicht wissen, wie viel Zeit das Lesen kosten wird.

Mit einer Anzeige der Lesezeit für den Artikel lässt sich die Verweildauer der Besucher spürbar erhöhen.

Logisch - die konkrete Angabe, dass man nur ein paar Minuten zum Lesen braucht, ist klarer einschätzbar als das vage Gefühl, es mit einem langen Artikel zu tun zu haben. Plötzlich fühlt es sich nicht mehr wie Zeitverschwendung an, da man "nur" ein paar Minuten beschäftigt sein wird.

Für Wordpress gibt es da einige separate Plugins. Mit CMS/MS geht es mittels Smarty (wie immer) viel einfacher, da sich PHP bekanntermaßen direkt mit Smarty 3 nutzen lässt.

Zunächst zählt man die Wörter eines Textes

{content assign='text'}
{$zeichenliste = 'äüöÄÜÖß'}
{$wortanzahl =  str_word_count($text, 0, $zeichenliste)}

Mit $zeichenliste können zusätzliche Zeichen übermittelt werden, die innerhalb eines Wortes vorkommen dürfen. Dieser Wert ist unerlässlich, um auch Wörter mit Umlauten richtig zu ermitteln. In obigem Beispiel habe ich nur die deutsche Sprache als Basis verwendet. Möglichst viele Sprachen lassen sich mittels

{$zeichenliste = 'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'}

abdecken. Anschließend legt man die Lesegeschwindigkeit fest

Bei einem normal verständlichen, deutschsprachigen Text geht man davon aus, dass ungefähr 300 Wörter pro Minute gelesen werden (können), bei Fachtexten ist der Wert natürlich entsprechend zu verringern.

Mittels

{$lesedauer = ceil($wortanzahl/$lesegeschwindigkeit)}

hat man dann die aufgerundete Lesedauer des Artikels in Minuten, dessen Wert man mit

nach Wunsch irgendwo im Template formatieren und ausgeben kann. Einzige Voraussetzung dafür ist, dass die Berechnung zu Beginn des Seiten-Templates eingefügt wurde.

Und jetzt noch mal das Ganze am Stück

{content assign='text'}
{$zeichenliste = 'äüöÄÜÖß'}
{$wortanzahl =  str_word_count($text, 0, $zeichenliste)}
{$lesegeschwindigkeit = 300}
{$lesedauer = ceil($wortanzahl/$lesegeschwindigkeit)}

Und dann ausgegeben im Template z.Bsp.

<span id='lesedauer'>Lesedauer: ca. {$lesedauer} Minuten</span>

Offline

#2 03. Mai 2019 14:53

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Die Lesedauer von Texten anzeigen

Und hier die Variante für die Minimalisten unter euch

{content assign='text'}
{$lesedauer = ceil(str_word_count($text, 0, 'äüöÄÜÖß')/300)}

Offline

#3 03. Mai 2019 14:55

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: Die Lesedauer von Texten anzeigen

Klar sollte auch sein, dass

nur exemplarisch verwendet wurde. Dies können natürlich auch Textvariablen aus jedem beliebigen Modul (News, Blog etc.) sein.

Offline