Perex článku rovnou z MySQL

/ Blog / MYSQL / Perex článku rovnou z MySQL

Publikováno v sekci MYSQL v 14. 5. 2007 - 22:19

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: }
7:
8: else
9: {
10: $text = substr($text, 0, $length);
11: $pos = strrpos($text, " ");
12: $text = substr($text, 0, $pos);
13: $text .= $ending;
14: }
15:
16: return $text;
17:
18: }
19: ??>
20:
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

Kategorie

  • Osobní názory - 1x
  • PHP - 9x
  • MYSQL - 4x
  • CSS - 7x
  • jQuery - 3x
  • Sociální síť - 1x
  • Nette - 5x
  • Tipy & triky - 3x
  • Twitter Bootstrap - 1x
  • Týdenní tipy a novinky - 4x
  • SCSS - 1x
  • GIT - 1x
  • Gulp - 1x

  • Komentáře (6x)

    #1 reagovat Majkee:
    Díky, to se hodí!
    #2 reagovat Manix:
    Ahoj, mohl by jsi prosim te uvest konkterni priklad jak ten perex vypsat z databaze. Asi hodinu jsem se o to pokousel, ale neslo mi to. Diky moc
    #3 reagovat Manix:
    Tak dobry, jeste naposledy jsem to zkusil a vyslo to :))
    #4 reagovat Roman Janko:
    Tak to jsem fakt rád :-)
    #5 reagovat Lukáš:
    A jak to dopadne, pokud text obsahuje html tagy?
    [5] Lukáš Blbě, může se stát, že to ořízne s tagem .. na to je lepší použít http://php.vrana.cz/zkraceni-textu-s-xhtml-znackami.php

    Vložit nový komentář


    • na jiné komentáře odkazujte pomocí odkazu reagovat
    • vaše IP adresa bude zaznamenána
    • používají se gravatary
    • můžeme si tykat
    • HTML tagy vypnuty. PHP kód se také neprovede. Pokud potřebuju přiložit ukázku vašeho kódu, použijete službu pastebin
    • vulgární, rasistické či jinak nepřípustné komentáře budou smazány