久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php自定義函數(shù)實現(xiàn)統(tǒng)計中文字符串長度的方法小結(jié)

這篇文章主要介紹了php自定義函數(shù)實現(xiàn)統(tǒng)計中文字符串長度的方法,結(jié)合實例形式總結(jié)分析了php針對中文的判定、編碼與運算相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了php自定義函數(shù)實現(xiàn)統(tǒng)計中文字符串長度的方法。分享給大家供大家參考,具體如下:

中文字符計算為2個字符 英文字符計算為1個

代碼

/**
* 可以統(tǒng)計中文字符串長度的函數(shù)
*
*/
function abslength($str)
{
  $len=strlen($str);
  $i=0;
  while($i<$len)
  {
    if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i]))
    {
      $i+=2;
    }
    else
    {
      $i+=1;
    }
  }
  return $i;
}

另:php判斷字符長度:中文,英文,數(shù)字。

這個方法很多。 記錄一個簡單的。

mb_strlen($str, 'GBK');

缺點是要安裝mb庫。

不過這個還是有部分問題待解決。

GB碼編碼規(guī)則是這樣的:每個漢字由兩個字節(jié)構(gòu)成,第一個字節(jié)的范圍從0XA1-0XFE,共96種。第二個字節(jié)的范圍分別為0XA1-0XFE,共96種。利用這兩個字節(jié)共可定義出 96 * 96=8836種漢字。實際共有6763個漢字。

BIG5碼編碼規(guī)則是這樣的:每個漢字由兩個字節(jié)構(gòu)成,第一個字節(jié)的范圍從0X81-0XFE,共126種。第二個字節(jié)的范圍分別為0X40-0X7E,0XA1-0XFE,共157種。也就是說,利用這兩個字節(jié)共可定義出 126 * 157=19782種漢字。這些漢字的一部分是我們常用到的,如一、丁,這些字我們稱為常用字,其BIG5碼的范圍為0XA440-0XC671,共5401個。較不常用的字,如濫、調(diào),我們稱為次常用字,范圍為 0XC940-0XF9FE,共7652個,剩下的便是一些特殊字符。

安全點的方法。

function StrLenW($str)
{
    $count = 0;
    $len = strlen($str);
     for($i=0; $i<$len; $i++,$count++)
       if(ord($str[$i])>=128)
        $i++;
     return $count;
}

最后,下面這個才是正確的,通用的!

代碼:

/**作用:統(tǒng)計字符長度包括中文、英文、數(shù)字
* 參數(shù):需要進行統(tǒng)計的字符串、編碼格式目前系統(tǒng)統(tǒng)一使用UTF-8
* 修改記錄:
   $str = "kds";
  echo sstrlen($str,'utf-8');
* */
function sstrlen($str,$charset) {
    $n = 0; $p = 0; $c = '';
    $len = strlen($str);
    if($charset == 'utf-8') {
      for($i = 0; $i < $len; $i++) {
        $c = ord($str{$i});
        if($c > 252) {
          $p = 5;
        } elseif($c > 248) {
          $p = 4;
        } elseif($c > 240) {
          $p = 3;
        } elseif($c > 224) {
          $p = 2;
        } elseif($c > 192) {
          $p = 1;
        } else {
          $p = 0;
        }
        $i+=$p;$n++;
      }
    } else {
      for($i = 0; $i < $len; $i++) {
        $c = ord($str{$i});
        if($c > 127) {
          $p = 1;
        } else {
          $p = 0;
      }
        $i+=$p;$n++;
      }
    }
    return $n;
}

PS:這里再為大家推薦2款非常方便的統(tǒng)計工具供大家參考使用:

在線字?jǐn)?shù)統(tǒng)計工具:
http://tools.jb51.net/code/zishutongji

在線字符統(tǒng)計與編輯工具:
http://tools.jb51.net/code/char_tongji

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
下面小編就為大家分享一篇php 替換文章中的圖片路徑,下載圖片到本地服務(wù)器的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP給源代碼加密的幾種方法匯總(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇php打開本地exe程序,js打開本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP類的反射來實現(xiàn)依賴注入過程以及相關(guān)知識點分享,對此有興趣的朋友跟著小編學(xué)習(xí)下吧。
php遍歷一個文件夾內(nèi)的所有文件和文件夾,并刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現(xiàn)達到清空一個目錄的效果。本文給大家分享實例代碼,需要的朋友參考
主站蜘蛛池模板: 免费一区 | 国产精品一区二区福利视频 | 亚洲午夜精品在线观看 | 亚洲一区二区精品 | 亚洲毛片在线 | 日韩最新网站 | yeyeav| 国产三级日本三级 | 9191在线播放| 成人免费视频一区二区 | 日韩精品在线一区 | 成人在线播放网址 | 性精品| 日韩视频区 | 蜜桃视频在线观看免费视频网站www | 亚洲精品视频免费看 | 亚洲精品9999 | 欧美日韩久 | 日本a v在线播放 | 一级a性色生活片久久毛片波多野 | 欧美黑人激情 | 国内av在线 | 亚洲九九精品 | 久久久久久综合 | 国产乱精品一区二区三区 | 久久精品国产一区二区电影 | 老牛嫩草一区二区三区av | 99精品国产一区二区青青牛奶 | 成人做爰www免费看视频网站 | 在线观看国产h | 自拍视频网站 | jizz18国产| 精品香蕉一区二区三区 | 日本高清视频在线播放 | 国产免费又色又爽又黄在线观看 | 91极品视频| 在线黄 | 婷婷色国产偷v国产偷v小说 | 亚洲欧美在线视频 | 狠狠爱一区二区三区 | 久久精品1 |