一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

多個PHP中文字符串截取函數

復制代碼 代碼如下:
<?php
function sysSubStr($string,$length,$append = false)
{
    if(strlen($string) <= $length )
    {
        return $string;
    }
    else
    {
        $i = 0;
        while ($i < $length)
        {
            $stringTMP = substr($string,$i,1);
            if ( ord($stringTMP) >=224 )
            {
                $stringTMP = substr($string,$i,3);
                $i = $i + 3;
            }
            elseif( ord($stringTMP) >=192 )
            {
                $stringTMP = substr($string,$i,2);
                $i = $i + 2;
            }
            else
            {
                $i = $i + 1;
            }
            $stringLast[] = $stringTMP;
        }
        $stringLast = implode("",$stringLast);
        if($append)
        {
            $stringLast .= "...";
        }
        return $stringLast;
    }
}

$string = "簡明現代魔法 ―― 專注于互聯網主流的各種技術";
$length = "27";
$append = true;
echo sysSubStr($string,$length,$append);
// 輸出
// 簡明現代魔法 ―― 專...
?>

截取GB2312中文字符串:
復制代碼 代碼如下:
<?php
//截取中文字符串
function mysubstr($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;
}
?>

截取utf8編碼的多字節字符串:
復制代碼 代碼如下:
<?php
//截取utf8字符串
function utf8Substr($str, $from, $len)
{
    return preg_replace('#^(?:[/x00-/x7F]|[/xC0-/xFF][/x80-/xBF]+){0,'.$from.'}'.
                       '((?:[/x00-/x7F]|[/xC0-/xFF][/x80-/xBF]+){0,'.$len.'}).*#s',
                       '$1',$str);
}
?>

UTF-8、GB2312都支持的漢字截取函數:
復制代碼 代碼如下:
<?php
/*
Utf-8、gb2312都支持的漢字截取函數
cut_str(字符串, 截取長度, 開始長度, 編碼);
編碼默認為 utf-8
開始長度默認為 0
*/

function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
    if($code == 'UTF-8')
    {
        $pa = "/[/x01-/x7f]|[/xc2-/xdf][/x80-/xbf]|/xe0[/xa0-/xbf][/x80-/xbf]|[/xe1-/xef][/x80-/xbf][/x80-/xbf]|/xf0[/x90-/xbf][/x80-/xbf][/x80-/xbf]|[/xf1-/xf7][/x80-/xbf][/x80-/xbf][/x80-/xbf]/";
        preg_match_all($pa, $string, $t_string);

        if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
        return join('', array_slice($t_string[0], $start, $sublen));
    }
    else
    {
        $start = $start*2;
        $sublen = $sublen*2;
        $strlen = strlen($string);
        $tmpstr = '';

        for($i=0; $i< $strlen; $i++)
        {
            if($i>=$start && $i< ($start+$sublen))
            {
                if(ord(substr($string, $i, 1))>129)
                {
                    $tmpstr.= substr($string, $i, 2);
                }
                else
                {
                    $tmpstr.= substr($string, $i, 1);
                }
            }
            if(ord(substr($string, $i, 1))>129) $i++;
        }
        if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";
        return $tmpstr;
    }
}

$str = "abcd需要截取的字符串";
echo cut_str($str, 8, 0, 'gb2312');
?>

php技術多個PHP中文字符串截取函數,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91国视频在线 | 一二三四日本高清 | 色在线免费 | 波多野结衣在线影院 | 中文字幕日韩精品麻豆系列 | 亚洲欧美在线精品一区二区 | 久久精品国产99久久99久久久 | 久久国产精品只做精品 | 欧美性禁片在线观看 | 国产真实乱子伦精品 | 国产精品福利影院 | 婷婷六月在线 | 国产亚洲欧美一区二区三区 | 国产精品高清全国免费观看 | 国产精品麻豆一区二区三区v视界 | 婷婷色中文字幕 | 国产麻豆福利a v在线播放 | 欧美成人三级伦在线观看 | 欧美人体极品大胆露私 | 国产在线精品美女观看 | 丁香六月在线观看 | 91精品综合国产在线观看 | 亚洲精品福利在线观看 | 97成人在线 | 午夜福利国产一级毛片 | 久996视频精品免费观看 | 激情小说激情视频激情图片 | 97色婷婷成人综合在线观看 | 色婷婷亚洲综合五月 | 韩国免费毛片在线看 | 99国产精品欧美久久久久久影院 | 欧美激情图片区 | 在线免费精品视频 | 国产一级久久免费特黄 | 一区二区三区四区免费视频 | 午夜视频在线观看网站 | 欧美黑人巨大xxxxxxxx | 欧美在线不卡视频 | 欧美日本高清一本二本三本 | 亚洲精品影院 | 国内偷拍第一页 |