Von einem längeren Text wird nur der erste Abschnitt angezeigt.
Da Wortgrenzen berücksichtigt werden sollen lässt sich dies am einfachsten über einen
regulären Ausdruck realisieren.
<?php
/**
* Die ersten n Zeichen eines Textes ausgeben
*/
$chars2get = 60;
$beispiel = <<<EOT
Das ist ein kurzer Text, welcher zu Demonstrationszwecken dient.
Es soll nur der erste Abschnitt ausgegeben werden.
Und zwar eine Länge von ca. $chars2get Zeichen.
Allerdings sollen Wortgrenzen dabei berücksichtigt werden.
EOT;
function text_start ($s, $n)
{
$dummy = preg_match("/(.{0,$n}\b)/s", $s, $store);
$result = $store[1].' [...]';
return $result;
}
$teaser = text_start ($beispiel, $chars2get);
printf ('<h2>Original</h2>%s<hr /><h2>Anreißer</h2>%s', $beispiel, $teaser);
?>