Zadejte hledaný výraz...

Jak zkrátit text v PHP?

Dobrý den,
potřebuji zkrátit text u těchto boxů: http://sancepodnikat.tode.cz/
Zkouším tuto funkci, ale nevím jak jí mám dál implementovat...poradil byste mi někdo ?
24. 3. 2018 07:46:42
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337063
Zkus toto
function zkrat_text( $text, $pozice="100" ){
if( strlen( $text ) > $pozice ){
while( $text != " " ) $pozice--;
$text = substr( $text, 0, $pozice );
$text .= " ...";
}
return $text;
}
echo zkrat_text( "Muj text bla bla", "10" );
24. 3. 2018 08:08:15
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337062
Tohle je výstup jak to na to mám implementovat?
---------- Příspěvek doplněn 24.03.2018 v 08:16 ----------
Napsal PetrGargulák;1452711
Tohle je výstup jak to na to mám implementovat?
Takhle je anotace zapsaná v poli...
---------- Příspěvek doplněn 24.03.2018 v 08:37 ----------
Ještě to jde udělat takhle v jquery, ale nebere mi to výšku, která se automaticky generuje dle obsahu.... jedině jí vypnout.. jinak by to řešit nešlo ?
24. 3. 2018 08:15:28
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337061
Shopines
verified
rating uzivatele
(32 hodnocení)
24. 3. 2018 08:39:42
function zkracenyText($string){
if(strlen($string) > 20) $string = substr($string, 0, 20).'...';
return $string;
}
$annotation = $_POST;
echo zkracenyText($annotation);
24. 3. 2018 08:39:42
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337060
takže do toho latte to vložím u výstupu:
zkracenyText{!$r->annotation}
to je asi blbost ne ?
24. 3. 2018 08:41:42
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337059
ViPErCZ
verified
rating uzivatele
(21 hodnocení)
24. 3. 2018 08:44:18
Tomu říkám kód standard. :-) Btw tu proměnnou pozice neuvádějte jako string, ale jako int, protože všude kde se s ní pracuje v té funkci je právě potřeba int.
Jinak zkracování se dá také udělat i pomocí csska:
text-overflow: ellipsis;
white-space: nowrap;
Použít to můžete třeba takto:
'annotation' => zkrat_text($_POST, 100);
Ale doporučuji si udělat nějakou třídu. Něco jako UtilsStrings a v ní static public function... něco jako truncate (zrat_text je děs). A tu pak můžete používat i třeba na jiných projektech.
Pokud chcete něco stabilního a nechcete si to vyrábět, tak třeba tohle: https://packagist.org/packages/nette/utils
Napsal winexec;1452710
Zkus toto
function zkrat_text( $text, $pozice="100" ){
if( strlen( $text ) > $pozice ){
while( $text != " " ) $pozice--;
$text = substr( $text, 0, $pozice );
$text .= " ...";
}
return $text;
}
echo zkrat_text( "Muj text bla bla", "10" );
24. 3. 2018 08:44:18
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337058
Už jsem to udělal přes jquery a zrušil jsem autoheight u postu..teď je tam zbytečný, když výšku udává osekaný text.....
24. 3. 2018 08:48:20
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337057
ViPErCZ
verified
rating uzivatele
(21 hodnocení)
24. 3. 2018 08:52:00
Napsal PetrGargulák;1452717
takže do toho latte to vložím u výstupu:
zkracenyText{!$r->annotation}
to je asi blbost ne ?
Ono je to latte?
Proč tam máte ten vykřičník na začátku?
Pokud to je latte, tak by to mělo být takto:
viz: https://latte.nette.org/cs/filters#toc-pouziti
24. 3. 2018 08:52:00
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337056
Moc děkuji to je ono..opravdu moc díky...
24. 3. 2018 08:56:30
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337055
ViPErCZ
verified
rating uzivatele
(21 hodnocení)
24. 3. 2018 08:57:45
Není zač. Stačilo napsat hned, že to je latte :-) Frameworky většinou takový základní věci řeší.
Napsal PetrGargulák;1452723
Moc děkuji to je ono..opravdu moc díky...
24. 3. 2018 08:57:45
https://webtrh.cz/diskuse/jak-zkratit-text-v-php#reply1337054
Pro odpověď se přihlašte.
Přihlásit