21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
RiZe
Profil
Mám na stránce pravý novinkový sloupeček. Vypisuji do něj novinky z DB, ale chtěl bych vytvořit funkci, která by projela text té novinky a třeba vypsala jen 200 znaků a potom 3 tečky:

Dnes je pěkné počasí a proto...
[]Odkaz na sekci novinky[]

Jak na to?
Marty
Profil
No tak přes fci substr ořízni prvních dvěstě znaků a pak dopiš tečky...
RiZe
Profil
Vyzkouším...
llook
Profil
Ještě by to asi chtělo testovat, jestli to bylo oříznuto. Aby nebyly tři tečky za novinkou která se do toho vejde:

if (strlen($novinka) > 200) {
$novinka = substr($novinka, 0, 200).'…';
}

A také není dobré uřezávat to v půlce slova, takže bych to vylepšil ještě takhle:

if (strlen($novinka) > 200) {
$novinka = substr($novinka, 0, strrpos(' ', substr($novinka, 0, 200))).'…';
}
RiZe
Profil
Díky moc.
Milos
Profil
To: Ilook
Spíš bych zkusil toto:
$novinka = substr($novinka, 0, strrpos(substr($novinka, 0, 200),' ')).'…';
mila
Profil
Když si najdeš v manuálu substr, tak v diksuzi pod ním je spousta skriptů, co dělají toto. Od jednoduchých až po naprosto vymakané.
Hold nejsi první člověk, co to řeší:)

btm myslím, že by se podobná fce mohla implemetovat do MySQL, s tím tady ale asi nic neuděláme...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0