Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#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
{$lesegeschwindigkeit = 300}
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
{content assign='text'}
nur exemplarisch verwendet wurde. Dies können natürlich auch Textvariablen aus jedem beliebigen Modul (News, Blog etc.) sein.
Offline
Seiten: 1