PHP截取指定长度的字符串,超出部分用 ..替换

本文提供了两种PHP函数用于实现字符串的智能截断:一种是在指定长度处截断并添加省略号;另一种则是确保截断后的字符串宽度符合指定长度,并在末尾添加省略号以指示内容被截断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function substr_format($text, $length, $replace='..', $encoding='UTF-8') 
{
	if ($text && mb_strlen($text, $encoding)>$length)
	{
		return mb_substr($text, 0, $length, $encoding).$replace;
	}
	return $text;
}

还有
function cut_string($str, $len)
{
	// 检查长度
	if (mb_strwidth($str, 'UTF-8')<=$len)
	{
		return $str;
	}


	// 截取
	$i 		= 0;
	$tlen 	= 0;
	$tstr 	= '';

	while ($tlen < $len)
	{
		$chr 	= mb_substr($str, $i, 1, 'UTF-8');
		$chrLen = ord($chr) > 127 ? 2 : 1;

		if ($tlen + $chrLen > $len) break;

		$tstr .= $chr;
		$tlen += $chrLen;
		$i ++;
	}

	if ($tstr != $str)
	{
		$tstr .= '...';
	}

	return $tstr;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值