Když zobrazujete články na začátku nějakého webu, většinou chcete zobrazit pouze začátek článku na HomePage a celý text pak chcete zobrazit až v detailu článku. V PHP jsou dvě možnosti, jak text zkrátit:
1 – Zkrácení omezením počtu znaků můžeme zrealizovat pomocí příkazů:
//vypiseme jenom prvnich X znaku
$pocet_znaku=100;
$text_final=subStr($text,0,$pocet_znaku);
Funguje to pěkně, ale můžeme se dostat do potíží, když například v proměnné $text máme nějaké speciální znaky, zejména tagy nebo znaky nahrazující diakritiku. Tak nám může náš milý zkrácený text rozhodit celý layout. Proto je jako lepší řešení
2 – Zkrácení omezením počtu slov. To je už náročnější, protože je třeba vydefinovat nejprve co je to slovo. Pokud si to zjednodušíme tak, že slovo definujeme jako skupinku znaků od ostatních oddělených mezerami, můžeme proměnnou $text rozdělit do pole jehož oddělovátky jsou mezery, vybrat pouze prvních X záznamů pole a ty poté opět oddělené mezerami sloučit do finální proměnné. Takže by to vypadalo takto:
//vypiseme jenom prvnich X slov
$slov = 20;
$slova = explode(‘ ‘, $text);
$slova = array_slice($slova, 0, $slov);
$text_final = implode(‘ ‘, $slova);