我发现自己需要这个功能,并且想知道它是否已经存在于PHP中.
/** * Truncates $str and returns it with $ending on the end, if $str is longer * than $limit characters * * @param string $str * @param int $length * @param string $ending * @return string */ function truncate_string($str, $length, $ending = "...") { if (strlen($str) <= $length) { return $str; } return substr($str, 0, $length - strlen($ending)).$ending; }
因此,如果限制是40并且字符串是"快速狐狸跳过懒惰的棕色狗",输出将是"快速狐狸跳过懒惰的眉毛......".这似乎是PHP中存在的那种东西,所以当我找不到它时我感到很惊讶.
$suffix = '...'; $maxLength = 40; if(strlen($str) > $maxLength){ $str = substr_replace($str, $suffix, $maxLength); }
您的实现可能会略有不同,具体取决于后缀的长度是否应计入总字符串长度.