下面是一个示例的封装函数,它使用 PHP 来截断指定位数的字符串,并在字符串结尾是逗号(,)或句号(.)时忽略,并以省略号(…)展示:
function truncateString($string, $maxLength) {
// 检查字符串长度是否超过最大限制
if (strlen($string) <= $maxLength) {
return $string;
}
// 判断结尾是否为逗号或句号
$endChar = substr($string, -1);
if ($endChar === ',' || $endChar === '.') {
return substr($string, 0, $maxLength - 3) . '...';
}
// 截断字符串并添加省略号
return substr($string, 0, $maxLength - 3) . '...';
}
// 示例用法
$string = "这是一个很长的字符串,需要被截断。";
$maxLength = 10;
$truncatedString = truncateString($string, $maxLength);
echo $truncatedString; // 输出:"这是一个很长的字..."
在上述示例中,truncateString
函数接受两个参数:$string
是要截断的字符串,$maxLength
是最大长度限制。函数首先检查字符串长度是否小于等于最大限制,如果是,则直接返回原始字符串。否则,它判断字符串的最后一个字符是否为逗号或句号,如果是,则截断字符串并在末尾添加省略号。如果最后一个字符不是逗号或句号,则直接截断字符串并添加省略号。
@漏刻有时