php判斷字串是否全英文,純中文,中英文組合的方法

來源:互聯網
上載者:User
有時候我們需要對字串進行對比的時候會先對字串使用strtolower將字串轉為小寫,但是當遇到字串中包含中文的情況下,這種情況下會出現問題,中文字串經過strtolower轉換後會變為亂碼,搜尋了一番確定了這為php系統函數的一個bug,但問題還是需要解決,下面經過摸索得出兩種解決辦法。

(1)第一種是檢測字串中是否包含中文,如果包含中文就不進行小寫轉換比較了。

這裡總結了一個函數,判斷一個字串是否是由純英文,純中文或者中英文混合組成。

/*

*function:檢測字串是否由純英文,純中文,中英文混合組成
*param string
*return 1:純英文;2:純中文;3:中英文混合
*/
function check_str($str=''){
if(trim($str)==''){
return '';
}
$m=mb_strlen($str,'utf-8');
$s=strlen($str);
if($s==$m){
return 1;
}
if($s%$m==0&&$s%3==0){
return 2;
}
return 3;

}

(2)使用urlencode將字串進行編碼之後,然後再比較,比第一種方法更全面一些。具體過程為:

strtolower(urlencode($str));
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.