利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法
本文實(shí)例講述了利用PHP函數(shù)計(jì)算中英文字符串長(zhǎng)度的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一般來說大家知道英文字符占一個(gè)字節(jié),而中文字符gbk占兩個(gè)字符,utf8占三個(gè)字符,很多人印象中php計(jì)算字符串長(zhǎng)度就是strlen()函數(shù),其實(shí)不然,它計(jì)算的是字節(jié)的長(zhǎng)度而非字符的長(zhǎng)度,那么如何獲取一個(gè)字符串中字符的長(zhǎng)度呢?還有有mb_strlen().
具體代碼如下:
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系列的函數(shù)并不是PHP核心函數(shù),默認(rèn)沒有開啟的,還有一個(gè)超簡(jiǎn)單的方法,通過正則將字符串分解為字符個(gè)體,計(jì)算字符的個(gè)數(shù)即為字符串的長(zhǎng)度,代碼如下:
function _strlen($str)
{
preg_match_all("/./us", $str, $matches);
return count(current($matches));
}
echo _strlen("PHP點(diǎn)點(diǎn)通"); //6
?>
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- PHP字符串長(zhǎng)度計(jì)算 - strlen()函數(shù)使用介紹
- php中計(jì)算中文字符串長(zhǎng)度、截取中文字符串的函數(shù)代碼
- php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法小結(jié)
- 最準(zhǔn)確的php截取字符串長(zhǎng)度函數(shù)
- PHP中preg_match函數(shù)正則匹配的字符串長(zhǎng)度問題
- php strlen mb_strlen計(jì)算中英文混排字符串長(zhǎng)度
- 詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別
- 淺析PHP中strlen和mb_strlen的區(qū)別
- 自己寫的php中文截取函數(shù)mb_strlen和mb_substr
- PHP中strlen()和mb_strlen()的區(qū)別淺析
- php中strlen和mb_strlen用法實(shí)例分析
- php常用字符串長(zhǎng)度函數(shù)strlen()與mb_strlen()用法實(shí)例分析
相關(guān)文章
PHP中copy on write寫時(shí)復(fù)制機(jī)制介紹
這篇文章主要介紹了PHP中copy on write寫時(shí)復(fù)制機(jī)制介紹,需要的朋友可以參考下2014-05-05
PHP數(shù)組的交集array_intersect(),array_intersect_assoc(),array_inte
求兩個(gè)數(shù)組的交集問題可以使用array_intersect(),array_inersect_assoc,array_intersect_key來實(shí)現(xiàn),其中array_intersect()函數(shù)是求兩個(gè)數(shù)的交集2011-05-05
php中cURL?error?60:SSL?certificate?problem:?unable?to?
PHP中cURL錯(cuò)誤60通常表示SSL證書問題,即無法獲取本地頒發(fā)機(jī)構(gòu)證書,這通常是由于cURL無法驗(yàn)證遠(yuǎn)程服務(wù)器的SSL證書導(dǎo)致的,本給大家介紹了如何解決php中cURL?error?60,需要的朋友可以參考下2023-12-12
php實(shí)現(xiàn)簡(jiǎn)單的語法高亮函數(shù)實(shí)例分析
這篇文章主要介紹了php實(shí)現(xiàn)簡(jiǎn)單的語法高亮函數(shù),實(shí)例分析了php通過正則表達(dá)式實(shí)現(xiàn)語法高亮的相關(guān)技巧,需要的朋友可以參考下2015-04-04
分析Composer實(shí)現(xiàn)自動(dòng)加載原理
一般在框架中都會(huì)用到composer工具, 用它來管理依賴。其中 composer有類的自動(dòng)加載機(jī)制,可以加載composer下載的庫(kù)中的所有的類文件。那么composer的自動(dòng)加載機(jī)制是怎么實(shí)現(xiàn)的呢?2021-05-05
PHP.ini中配置屏蔽錯(cuò)誤信息顯示和保存錯(cuò)誤日志的例子
這篇文章主要介紹了PHP.ini中配置屏蔽錯(cuò)誤信息顯示和保存錯(cuò)誤日志的例子,需要的朋友可以參考下2014-05-05

