Publikováno v sekci MYSQL v
Pokud potřebujeme z článku vypsat určitý počet znaků, většina lidí si jednodušše uřízne požadovaný počet znaků pomocí funkce **substr()**
To bývá kolikrát neštastné už tím, že nám může rozpůlit slovo a tento efekt nevypadá pěkně. Proto si můžeme napsat vlastní funkci Perex(), která nám chytře vrátí požadovanou délku znaků.
1: <?php function Perex($text, $length = 60, $ending = "...") 2: { 3: if (strlen($text) <= $length) 4: { 5: $text = $text; 6: } </p> 7: <pre><code>else 8: { 9: $text = substr($text, 0, $length); 10: $pos = strrpos($text, " "); 11: $text = substr($text, 0, $pos); 12: $text .= $ending; 13: } 14: 15: return $text;</code></pre> 16: <p>} 17: ??>Ale i tento způsob ma nevýhodu. Musíme z databáze získat celý text, který teprve poté zkrátíme. A proto pokud nechceme konkrétní počet znaků, a spokojíme se s konkrétním počtem slov, můžeme perex získat rovnou z datábáze následujícím dotazem
1: SELECT SUBSTRING_INDEX( perex, ' ', 3 ) AS perex FROM clanky