2015年10月15日 星期四

PHP 不分中、英文取得正確的字串長度

在 PHP 一般我們取得字串長度都會聯想到 strlen 這個 function,但是當字串裡面有中文時就會發現,strlen 算出來的數字不符合我們的預期,原因是 strlen 是計算字元長度,中文的 byte 數會比英文多。

因此,如果想不分中英文來取得字串長度就該使用 mb_strlen,以下就附上範例:
  1. <?php

  2.     $str = "測試Test";
  3.     echo "字串:" . $str . "<br>";
  4.     echo "strlen:" . strlen($str) . "<br>";
  5.     echo "mb_strlen:" . mb_strlen($str, 'utf-8') . "<br>";

  6. ?>

沒有留言:

張貼留言