Artykuły na każdy temat
[PHP] Jak obciąć tekst po określonej liczbie znaków i dodać na końcu ...?
<?php
$str = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus sapien nisl, sollicitudin non, imperdiet ac, rhoncus sed, urna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer nisl. Quisque gravida.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed euismod ultrices nulla. Aenean eros. Cras sit amet libero in ipsum lacinia feugiat. Ut dictum, dui ut rutrum tempor, odio mi rutrum lorem, sed iaculis purus metus nec turpis. Donec dignissim lectus et sapien. Sed molestie feugiat dui. Etiam dapibus varius risus. Mauris arcu mauris, interdum sit amet, malesuada sed, iaculis a, libero. Donec elementum nisi ac turpis. In hac habitasse platea dictumst. Aenean a massa non mauris cursus varius. Vivamus at ante. Aenean non urna sed est lobortis malesuada.';
function shortcut($str, $length)
{
$tmp['length'] = strlen($str);
if($tmp['length'] > $length)
{
while($str[$length] != ' ' && ++$length < $tmp['length']);
return substr($str, 0, $length).'...';
}
else
{
return $str;
}
}
echo shortcut($str, 60);
?>
W aktualnościach na swojej stronie stosuje takie oto cudo:
<?php
$str = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit[cut]. Phasellus sapien nisl, sollicitudin non, imperdiet ac, rhoncus sed, urna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer nisl. Quisque gravida.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed euismod ultrices nulla. Aenean eros. Cras sit amet libero in ipsum lacinia feugiat. Ut dictum, dui ut rutrum tempor, odio mi rutrum lorem, sed iaculis purus metus nec turpis. Donec dignissim lectus et sapien. Sed molestie feugiat dui. Etiam dapibus varius risus. Mauris arcu mauris, interdum sit amet, malesuada sed, iaculis a, libero. Donec elementum nisi ac turpis. In hac habitasse platea dictumst. Aenean a massa non mauris cursus varius. Vivamus at ante. Aenean non urna sed est lobortis malesuada.';
echo (is_int($tmp['pointer'] = strpos($str, '[cut]')) ? substr($str, 0, $tmp['pointer']).'...' : $str);
?>
W ten sposób mam większą kontrolę nad tym, w którym momencie ucinam ciąg. W odpowiednim momencie daję tylko [cut] i sprawa załatwiona.
Komentarze
Dodaj komentarz
CapaciousCore