php截取字中文长度,php自定义函数截取汉字长度示例

例子,截取汉字长度的自定义函数。

复制代码 代码示例:

function msubstr($str,$start,$len) {

$strlen=$start+$len;

for($i=0;$i

if(ord(substr($str,$i,1))>0xa0) {

$tmpstr.=substr($str,$i,2);

$i++;

} else

$tmpstr.=substr($str,$i,1);

}

return $tmpstr;

}

调用:

复制代码 代码示例:

$str="这个字符好长呀,^_^";

$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...

Echo "$Short_Str";

Function csubstr($str,$start,$len)

{

$strlen=strlen($str);

$clen=0;

for($i=0;$i

{

if ($clen>=$start+$len)

break;

if(ord(substr($str,$i,1))>0xa0)

{

if ($clen>=$start)

$tmpstr.=substr($str,$i,2);

$i++;

} www.jbxue.com

else

{

if ($clen>=$start)

$tmpstr.=substr($str,$i,1);

}

}

return $tmpstr;

}

Function showShort($str,$len)

{

$tempstr = csubstr($str,0,$len);

if ($str<>$tempstr)

$tempstr .= "..."; //要以什么结尾,修改这里就可以.

return $tempstr;

}

这里再分享一个更简洁的截取汉字长度的方法:

复制代码 代码示例:

$len = 19;

$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";

echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值