統計中字串長度

來源:互聯網
上載者:User

著作權聲明:原創作品,允許轉載,轉載時請務必以超連結形式標明文章原始出版、作者資訊和本聲明。否則將追究法律責任。http://blog.csdn.net/mayongzhan - 馬永占,myz,mayongzhan

<?php/** * @name test.php * @date Mon Nov 19 21:10:39 CST 2007 * @copyright 馬永占(MyZ) * @author 馬永占(MyZ)  * @link http://blog.csdn.net/mayongzhan/ */ header("Content-Type: text/html; charset=utf-8");echo $test = "馬永占MyZ";echo "<br />";mb_internal_encoding("UTF-8");//使用mb_strlenecho "strlen      ".strlen($test)."<br />";echo "mb_strlen   ".mb_strlen($test)."<br />";echo "mb_strwidth ".mb_strwidth($test)."<br />"; function countStr($str, $handle, $onlyCh=0){       //$handle = 1 按照mb_strlen算 一個中文按照1個字算       //$handle = 2 按照mb_strwidth算 一個中文按照2個字算       //$handle = 3 按照strlen算 一個中文按照3個字算       //$onlyCh = 1 只統計中文       $length = strlen($str);       if ($handle == 3 && $onlyCh==0) {              return $length;       }       else {              $i = 0;              if ($onlyCh == 1) {                     $k = 0;              }              else {                     $k = 1;              }              while($i < $length) {                     if(preg_match("/^[" . chr(0xa1) . "-" . chr(0xff) . "]+$/", $str[$i])) {                            $i += 3;                            $n += $handle;                     }                     else {                            $i += 1;                            $n += $k;                     }              }              return $n;       }}echo "countStr1   " . countStr($test, 1) . "<br />";echo "countStr2   " . countStr($test, 2) . "<br />";echo "countStr3   " . countStr($test, 3) . "<br />";echo "countStr4   " . countStr($test, 1, 1) . "<br />";echo "countStr5   " . countStr($test, 2, 1) . "<br />";echo "countStr6 " . countStr($test, 3, 1) . "<br />";?>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.