多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > php教程 > PHP字符截取函數(shù),兼容各類gbk,utf-8編碼

PHP字符截取函數(shù),兼容各類gbk,utf-8編碼

來源:程序員人生   發(fā)布時(shí)間:2014-02-04 16:59:23 閱讀次數(shù):2734次

在PHP中字符截取函數(shù)substr只能截取全英文才不會(huì)出現(xiàn)亂碼如果里面有中文肯定是無法截取的,下面小編來給大家介紹兩個(gè)兼容各類gbk,utf-8編碼字符串截取函數(shù),實(shí)例代碼如下:

  1. function CsubStrPro($str$start$length$charset = "utf-8"$suffix = false) 
  2.     if (function_exists ( "mb_substr" )) 
  3.         return mb_substr ( $str$start$length$charset ); 
  4.     $re ['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"
  5.     $re ['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"
  6.     $re ['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/"
  7.     $re ['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"
  8.     preg_match_all ( $re [$charset], $str$match ); 
  9.     $slice = join ( ""array_slice ( $match [0], $start$length ) ); 
  10.     if ($suffix
  11.         return $slice . "…"
  12.     return $slice

實(shí)例代碼二:

  1. function subString_UTF8($str$start$lenth
  2.    { 
  3.        $len = strlen($str); 
  4.        $r = array(); 
  5.        $n = 0; 
  6.        $m = 0; 
  7.        for($i = 0; $i < $len$i++) { 
  8.            $x = substr($str$i, 1); 
  9.            $a  = base_convert(ord($x), 10, 2); 
  10.            $a = substr('00000000'.$a, -8); 
  11.            if ($n < $start){ 
  12.                if (substr($a, 0, 1) == 0) { 
  13.                }elseif (substr($a, 0, 3) == 110) { 
  14.                    $i += 1; 
  15.                }elseif (substr($a, 0, 4) == 1110) { 
  16.                    $i += 2; 
  17.                } 
  18.                $n++; 
  19.            }else
  20.                if (substr($a, 0, 1) == 0) { 
  21.                    $r[ ] = substr($str$i, 1); 
  22.                }elseif (substr($a, 0, 3) == 110) { 
  23.                    $r[ ] = substr($str$i, 2); 
  24.                    $i += 1; 
  25.                }elseif (substr($a, 0, 4) == 1110) { 
  26.                    $r[ ] = substr($str$i, 3); 
  27.                    $i += 2; 
  28.                }else
  29.                    $r[ ] = ''
  30.                } 
  31.                if (++$m >= $lenth){ 
  32.                    break
  33.                } 
  34.            } 
  35.        } 
  36.        return $r
  37.    } // End subString_UTF8; 
  38. // End String 

由于此函數(shù)返回的是一個(gè)數(shù)組,因此要配合join函數(shù)來顯示字符串:join('',subString_UTF8($str, $start, $lenth));,在頁(yè)面顯示的時(shí)候還可以在此語(yǔ)句后面連一個(gè)"..."

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲欧美视频在线 | www.久久视频 | 视频在线观看一区二区三区 | 久久亚| 国产成人亚洲精品 | 在线精品播放 | 国产亚洲欧美ai在线看片 | 国产福利二区 | 亚洲精品精品 | 国产一区二区三区 | 国产亚洲精品久久久久91网站 | 在线观看亚洲专区 | 77777亚洲午夜久久多人 | 亚洲中午字幕 | 羞羞影院免费观看网址在线 | 亚洲天堂久久久 | 99爱精品 | 亚洲视频在线播放 | 亚洲 日本 欧美 日韩精品 | 欧美三级在线看 | 亚洲精品久久久午夜伊人 | 亚洲欧洲毛片 | 黄视频在线观看www 黄网站大全 | 欧美性xxxx另类 | 在线免费欧美 | 国产欧美一区二区三区小说 | 国内精品不卡一区二区三区 | 午夜欧美视频 | 国产v在线播放 | 亚洲精品视频免费 | 久久久久久免费一区二区三区 | 国产精品爱久久久久久久 | 免费成年人在线观看视频 | 自拍视频网 | 成人a毛片久久免费播放 | 国产精品亚洲综合一区在线观看 | 中文字幕在线播 | 自拍视频网站 | 国产亚洲在线观看 | 欧美日韩性视频 | 国产日韩欧美一区二区三区在线 |