mb_substr 讓他超過字數後再點點點

火爆浪子
  • 2.8k

如何讓他超過字數再點點點?
以下是我寫的假象:

mb_substr("1234567890",0,5,"utf-8");echo '...';

此時會變成12345...這沒問題

但是當沒有超過時也會顯示點點點

mb_substr("1234567890",0,15,"utf-8");echo '...';

1234567890...

網上查的mb_substr函數都只有介紹顯示指定的字數
但我沒有找到怎麼樣設條件..就是超過我設定的顯示字數再點點點

回复
阅读 3k
2 个回答

加个判断吧

$text = '123456';
$charLength = 10; //字符串长度
$content = mb_strlen($text, 'UTF-8') <= $charLength ? $text : mb_substr($text, 0,$charLength,'UTF-8') . '...';

只能自己加个判断

function my_substr($str, $start = 0, $length = 0, $encoding = 'utf-8')
{
    return (mb_strlen($str) >= ($length - $start)) ? (mb_substr($str, $start, $length, $encoding).'...') : $str;
}
宣传栏