为了账号安全,请及时绑定邮箱和手机立即绑定

[中英文字符串截取]php版本字符串截取方法

标签:
PHP

/* 函数功能说明:此函数用于截取中文字符串,函数以单个完整字符为单位进行截取,即一个英文字符和一个中文字符均表示一个单位长度

* 参数说明:

* 参数1:$string为要截取的字符串,

* 参数2:$start为欲截取的起始位置,

* 参数3:$length为要截取的字符个数(一个汉字或英文字符都算一个)

* 返回值说明:返回截取结果字符串

*/

function substr_cn($string_input,$start,$length)

{

$str_input=$string_input;

$len=$length;

$return_str="";

//定义空字符串

for ($i=0;$i<2*$len+2;$i++)

$return_str=$return_str." ";

$start_index=0;

//计算起始字节偏移量

for ($i=0;$i<$start;$i++)

{

if (ord($str_input{$start_index}>=161)) //是汉语

{

$start_index+=2;

}

else //是英文

{

$start_index+=1;

}

}

$chr_index=$start_index;

//截取

for ($i=0;$i<$len;$i++)

{

$asc=ord($str_input{$chr_index});

if ($asc>=161)

{

$return_str{$i}=chr($asc);

$return_str{$i+1}=chr(ord($str_input{$chr_index+1}));

$len+=1; //结束条件加1

$i++; //位置偏移量加1

$chr_index+=2;

continue;

}

else

{

$return_str{$i}=chr($asc);

$chr_index+=1;

}

}

return trim($return_str);

}//end of substr_cn


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消