利用PHP函式計算中英文本串長度的方法

2022-09-26 19:39:15 字數 622 閱讀 4276

一般來說大家知道英文本元佔乙個位元組,而中文字元gbk佔兩個字元,utf8佔三個字元,很多人印象中php計算字串長度就是mphkoktmkestrlen()函式,其實不然,它計算的是位元組的長度而非字元的長度,那麼如何獲取乙個字串中字元的長度呢?還有有mb_strlen().

具體**如下:

複製** **如下:

echo $str = 'php點點通'; 

echo strlen($str); //3*1+3*3=12 

echo mb_strlen($str, 'gb2312'); //3*1+3*2=9 

echo mb_strlen($str, 'utf-8'); //6

可惡的是,mb系列的函式並不是php核心函式,預設沒有開啟的,還有乙個超簡單的方法,通過正則將字串分解為字元個體,計算字元的個數即為字串的長度,**如下:

複製** **如下:

<?php  

function _strlen($str) 

&www.cppcns.comnbsp;

echo _strlen("php點點通");  //6 

?>

本文標題: 利用php函式計算中英文本串長度的方法

本文位址:

PHP擷取中英文本串

php擷取gb2312中文字串 php擷取gb2312中文字串 param str 被擷取的字串 param start 起始長度 param len 擷取長度 param suffix 字尾字串 function gbk str str,start,len,suffix i else return...

PHP擷取中英文本串長度

我們經常會遇到需要擷取字串 含中文漢字 長度的情況,比如標題顯示不能超過多少字元,超出的長度用 表示,以下函式可以滿足你的需求。utf 8 gb2312都支援的漢字擷取函式 cut str 字串,擷取長度,開始長度,編碼 編碼預設為 utf 8 開始長度預設為 0 function cutstr s...

中英文本串擷取

substringlength 每行限制文字數量 預設是20個字元 按照英文本元長度來計算,乙個中文字元相當於兩個英文本元 replacecharacter 超出字元代替樣式 預設是 擷取字元 string substring string strinput return resultstr rep...