在php中提供了大量字符串操作函數,像計算字符串長度或字符串截取函數,但是他們都只能簡單的計算英文字符,不能對中文混合字符串進行操作,下面我來給大家介紹截取字符串長度與計算字符串長度的方法總結.
常用的字符處理函數,代碼如下:
- strstr(string,string) = strchr(,) //從前面第一次出現某個字符串的地方截取到最后
- strrchr(string,string) //從某個字符串從最后出現的位置截取到結尾
- strpos(string,string[,int]) //某個字符串第一次出現的位置
- strrpos(string,string) //某個字符串最后一次出現的位置
- substr(string,int[,int]) //從指定位置開始截取字符串,可以指定截取的長度。
- strlen(string) //獲取字符串的長度
假設:$str="這是1個字符串";這個串中包含了一個半角字符,同樣執行如下代碼:
if(strlen($str)>10) $str=substr($str,10);
由于原字符串$str的第10、11個字符構成了漢字“符”;執行串分割后會將該漢字一分為二,這樣被截取的串就會發現亂碼現象,那我們可以先來計算字符串長度,代碼如下:
- <?PHP
- header('Content-type: text/html; charset=utf-8');
- $str = "在士大夫了sdfsdfcxvzv一截";
- $pa = '/[x{4e00}-x{9fa5}]/siu';
- preg_match_all($pa, $str, $r);
- $count = count($r[0]);
- echo "當前的字符串中,共有 $count 個漢字";
- if($count>10)
- {
- //如果漢字數量大于10,你的代碼
- }
- ?>
新聞熱點
疑難解答