PHP 判斷字串是否有中文

在 PHP 要判斷字串是否有中文,可以用 mb_strlen() 及 strlen() 兩個函式實現。strlen() 會回傳字串的長度,但如果是中文, 日文及韓文等文字,會回傳較長的結果。而 mb_strlen() 則可以加入編碼,例如 UTF-8 及 BIG5 等,讓 PHP 自動判斷字串的長度,只要比對 mb_strlen() 及 strlen() 回傳的字串長度,如果相同,即表示沒有中文字在字串內,如果不相同,那便表示有中、日、韓等亞洲文字存在,例如:

上面 mb_strlen() 設定了字串為 UTF-8 編碼,如果是 BIG5 編碼,則要改成 BIG5, 但這樣很麻煩,只要配合 mb_detect_encoding() 函式,讓 PHP 自動檢查字串的編碼,就不用每次設定不同編碼了:




Latest Comments

  1. ZZh 09 January 2017
  2. bongbonggun 09 June 2017
    • Sam Tang 09 June 2017

Leave a Reply