Update: Con la nuova versione di Views teasers e html stripping si fanno direttamente dalla UI di Views.
Mentre procedevo alla creazione del vecchio sito mosettistudios mi sono imbattuto nella necessità di avere più controllo sui teasers utilizzando Views per l'estrazione. Probabilmente con un solo tipo di contenuto sono sufficenti le impostazioni base di Drupal.
Se invece avete diversi tipi di contenuto che necessitano diverse lunghezze del teaser la funziona neat_trim fa al caso vostro. Tutto quello che dovrete fare è copiare il seguente codice nel vostro template.php (ricordatevi di non includere "?>" a fine codice):
<?php
function neat_trim($str, $n, $delim='…') {
$len = strlen($str);
if ($len > $n) {
preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
return rtrim($matches[1]) . $delim;
}
else {
return $str;
}
}
?>