[ define @ 18.08.2007. 10:25 ] @
Interesuje me da li postoji neka funkcija koja moze da skrati tekst tipa news sajtova gde ima kratka verzija vesti pa posle klikom na opsirnije otvara se kompletna verzija. Ne pravim news sajt vec mi treba ta funkcija da postojece tekstove prikazem u skracenom izdanju.
[ flylord @ 18.08.2007. 10:31 ] @
Code:
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
                                  $break_words = false, $middle = false)
{
    if ($length == 0)
        return '';

    if (strlen($string) > $length) {
        $length -= min($length, strlen($etc));
        if (!$break_words && !$middle) {
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
        }
        if(!$middle) {
            return substr($string, 0, $length) . $etc;
        } else {
            return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
        }
    } else {
        return $string;
    }
}
[ define @ 18.08.2007. 10:42 ] @
Jos jedno pitanje u vezi news sajta, da li je bolje raditi ovako sa funkcijom ili imati jos jedno polje u tabeli za vesti u kojem bi unosili vesti ukratko? Da li ova funkcija opterecuje procesor?

[Ovu poruku je menjao define dana 18.08.2007. u 11:58 GMT+1]
[ VladaSu @ 18.08.2007. 13:34 ] @
Ako imas milione prikaza u sekundi...
[ djordje @ 19.08.2007. 23:06 ] @
Ja koristim ovo

Code:
function shorttext($text, $no_of_characters){
        $words = explode(" ", $text);
        foreach($words as $word){
                $length += strlen($word)+1;
                if($length <= $no_of_characters){
                        $output .= $word . " ";
                }else{
                        return $output;
                }
        }
        return $output;
}
[ brainbuger @ 20.08.2007. 21:48 ] @
Iako je optimalnije resenje iseci kratak deo texta od glavne vesti, ja ga recimo uvek izbegavam jer cesto automatsko odsecanje zna da bude suvise grubo i nedovoljno pogotovo ako su vesti velike.Nekad je recimo jako dobro imati poseban unos za uvodni deo vesti ali da to ne bude samo prvih npr 100 karaktera, vec recimo rucno sazeta cela vest u par recenica, rucno unetih 50 karaktera ce cesto posetiocu dati bolji uvid o onome o cemu je data vest. U sustini (da ne smaram puno :) izbor zavisi od strategije i cilja samog sajta.