php || 指定长度分割 中英文符号 字符串

mb_strlen() 函数返回字符串的长度,与 strlen 不同的时,它可以通过设置字符编码从而返回对应的字符数,很好的处理了中文字符串的长度问题。
使用 mb_strlen 要开启 mbstring 扩展。

echo mb_strlen("菜鸟教程RUNOOB");   =========10
echo strlen("菜鸟教程RUNOOB");  =============》18(一个中文3个字符)

mb_substr() 函数返回字符串的一部分,之前我们学过 substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用 mb_substr()。如果 start 参数是负数且 length小于或等于 start,则 length 为 0。mb_substr(“菜鸟教程”,start, length);

mb_substr("菜鸟教程", 0, 2); ================》‘菜鸟'
//分割字符串
function mbStrSplit ($string, $len=1) {
    $start = 0;
    $strlen = mb_strlen($string);
    while ($strlen) {
      $array[] = mb_substr($string,$start,$len,"utf8");
      $string = mb_substr($string, $len, $strlen,"utf8");
      $strlen = mb_strlen($string);
    }
    return $array;
  }
  
$str = '1jh2j2h你好记得记得';
$str= mbStrSplit($str, 3);
dump($str);

array(5) {
[0] => string(3) “1jh”
[1] => string(3) “2j2”
[2] => string(7) “h你好”
[3] => string(9) “记得记”
[4] => string(3) “得”
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值