Ahoj,
potřeboval bych poradit fci, která vezme nejaký text, zkrati ho na určitý počet slov a na konec toho zkraceneho textu napise <a href="#">více...</a>
Předem dík.
Já používám toto, můžeš si z toho udělat i funkci:
$text = "blabla bla bla";
if(strlen($text) >= 80):
$text1 = substr($text, 0, 100);
$text2 = strrpos($text1, " ");
if($text2 == 0) {$text2 = strrpos($text1, "<br>");}
if($text2 == 0) {$text2 = strrpos($text1, "<br>");}
if($text2 == 0) {$text2 = strrpos($text1, ",");}
$vysledny_text = substr($text, 0, $text2);
else:
$vysledny_text = $text;
endif;
Pracuje to tak, že to bude krátit text delší nebo roven 80 znaků a to tak, že se dále do proměnné uloží řetězec o délce 100 znaků a pomocí strrpos() se v něm najde nejdříve poslední mezera, ta když tam není tak poslední zalomení řádku <br> (tam si můžeš dát třeba i tečku nebo čárku). No a potom to zkrátím opět pomocí substr() a hodím do proměnné $vysledny_text.
Protože, kydyby si použil jen samotný substr(), tak by ti to nevhodně zkrátilo třeba uprostřed slova.