php mb_strlen()中英混體字符截取代碼
來源:程序員人生 發布時間:2014-02-15 05:07:07 閱讀次數:3159次
如果在用mb_strlen出現fatal error: call to undefined function mb_strlen,這種問題你要可以用php info()看一下有沒有裝載mbstring,如果沒有,嘗試將php_mbstring.dll復制到windows目錄下。
文件編碼 utf-8
- $var = '中文字符abc';
- mb_strlen($var, 'utf-8');
- mb_strlen($var);
- mb_strlen($var, 'gbk');
取全部中文
- function utf8substr($str, $from, $len)
- {
- return preg_replace('#^(?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$from.'}'.
- '((?:[x00-x7f]|[xc0-xff][x80-xbf]+){0,'.$len.'}).*#s',
- '$1',$str);
- }
中文與英混體截取代碼
- function gb2312_strlen($string)
- {
- $str_len = strlen($string);
- $str_count = 0;
- for($j = 0; $j < $str_len; $j++)
- {
- if(ord($string{$j}) < 127)
- {
- $str_count += 1;
- continue;
- }
- else
- {
- if(ord($string{$j+1}) > 127)
- {
- $str_count += 1;
- $j++;
- continue;
- }
- else
- {
- $str_count += 1;
- continue;
- }
- }
- }
- return $str_count;
- }
- $str = "開s d";
- echo gb2312_strlen($str);
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈