麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:48:05
字體:
來源:轉載
供稿:網友

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

  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

實例代碼二:

  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 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩精品羞羞答答 | 成人黄色小视频在线观看 | 久精品久久 | 国产一区二区免费 | av在线免费在线观看 | 性猛交ⅹxxx乱巴西 在线播放中文 | 中文字幕在线观看亚洲 | 一区播放| 欧美成人精品一区 | 高清成人在线 | 日韩欧美激情视频 | 免费在线观看成人av | 92看片淫黄大片一级 | 九草网 | 色妞妞视频 | 久久久婷婷一区二区三区不卡 | 亚洲精品久久久久久下一站 | 99视频在线观看视频 | 91嫩草丨国产丨精品入口 | 免费观看的毛片手机视频 | 一级成人黄色片 | 亚洲视频精品在线 | 黄污视频在线看 | 久久男| 福利在线免费 | 欧美在线观看视频网站 | 久久不射电影 | 天天色宗合 | www.com香蕉 | 欧美日韩精品不卡一区二区三区 | 日产精品一区二区三区在线观看 | 毛片在线播放视频 | h视频在线播放 | 怦然心动50免费完整版 | 蜜桃一本色道久久综合亚洲精品冫 | 欧美中文字幕在线视频 | 青青草最新网址 | 深夜福利视频绿巨人视频在线观看 | 最新福利在线 | 国产午夜免费福利 | 草草免费视频 |