php截取字符串

来源:互联网 发布:广州凶宅数据库网址 编辑:程序博客网 时间:2024/06/06 09:16


1.1:substr($str, $start, $length)


$str:要截取的字符串
$start:设置从字符串的何处开始截取
$length:可选,截取字符串的长度

此方法根据字节,截取英文和数字没有问题,中文一个字符占多个个字节,这样截取就会出现乱码.

1.2:重写substr解决截取中文乱码问题

function mb_substr($str, $start, $len) {
    $tmpstr = "";
    $strlen = $start + $len;
    for($i = 0; $i < $strlen; $i++) {
        if(ord(substr($str, $i, 1)) > 0xa0) {
            $tmpstr .= substr($str, $i, 2);
            $i++;
        } else
            $tmpstr .= substr($str, $i, 1);
    }
    return $tmpstr;
}


2:mb_substr($str,$start,$length, $encoding)


$str:将提取的字符串
$start:第一个字符的位置
$length:可选,截取的长度
$encoding:可选,字符编码

此方法是根据字符截取,不存在多字节截取出乱码的问题