国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php中文字串截取無亂碼的方法

2024-05-04 21:58:04
字體:
供稿:網(wǎng)友

在網(wǎng)上找到了很多關(guān)于php截取中文方法,其中最多的還是講到使用mb_substr函數(shù)來截取了,這個(gè)函數(shù)需要php.ini中一個(gè)拓展支持,但我沒權(quán)限修改只有另想辦法.

substr截取:substr() 函數(shù)返回字符串的一部分,代碼如下:

  1. <?php 
  2.  $rest = substr("我是中國人", -1);    // returns "亂碼" 
  3.  echo $rest.'<br />'
  4.  $rest = substr("abcdef", -2);    // returns "ef" 
  5.  echo $rest.'<br />'
  6.  $rest = substr("abcdef", -3, 1); // returns "d" 
  7.  echo $rest.'<br />'
  8. ?>  

接著百度goole說可以mb_substr截取,代碼如下:

  1. <?php  
  2. echo mb_substr('我們都是好孩子hehe',0,9);  
  3. ?> 
  4. //運(yùn)行機(jī)制提示 
  5. //Fatal error: Call to undefined function mb_substr()...  

后來有朋友告訴我是一般的服務(wù)器都沒打開php_mbstring.dll,需要在php.ini中把php_mbstring.dll打開,找到idc商不開,只有另想辦法,代碼如下:

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

這個(gè)正好解決了所有問題了,看是否按字符編碼來進(jìn)行截取了.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黔西县| 鲜城| 柳林县| 上思县| 靖安县| 南华县| 邳州市| 淄博市| 通州区| 孝昌县| 阳原县| 井研县| 张家港市| 炉霍县| 灵山县| 开原市| 张北县| 隆安县| 牙克石市| 玉林市| 平谷区| 武功县| 五常市| 应用必备| 双鸭山市| 华阴市| 清涧县| 兴国县| 台州市| 巫山县| 莲花县| 乌兰浩特市| 揭西县| 东宁县| 武鸣县| 民权县| 霍山县| 仁布县| 沅陵县| 石首市| 枞阳县|