乙個漢字會因為編碼不同,佔的字元數量會不同,會是2或者3個字元!
<\?php
function geth($str){
// 利用preg_split函式,將漢字字串拆分成陣列,第乙個引數是正則匹配,必須加上u,因為是utf8編碼
// 這裡不能使用substr或者mb_substr等,因為這些方法是針對字元有效的,漢字佔2或者3個字元
$str = preg_split(『//u』, $str, -1, preg_split_no_empty);
// 利用shuffle函式,打亂漢字陣列
// 不能使用str_shuffle函式,因為那個是打亂字元的
shuffle($str);
// 從陣列中擷取前4個元素,得到的就是乙個漢字陣列
$str = array_slice($str, 0,4);
// implode:將陣列拼湊成字串
$str = implode('', $str);
return $str;
$str = 『遊樂兒浪漫櫻花王錦勝』;
geth($str);
?>
以上方法是固定的擷取長度,只是隨機的把漢字字串打亂擷取;
一、中文擷取:mb_substr()
mb_substr( $str, $start, $length, $encoding )
$str,需要截斷的字串
$start,截斷開始處,起始處為0
$length,要擷取的字數
$encoding,網頁編碼,如utf-8,gb2312,gbk
二、獲取中文長度:mb_strlen()
mb_strlen( $str, $encoding )
$str,要計算長度的字串
$encoding,網頁編碼,如utf-8,gb2312,gbk
PHP中漢字擷取
function msubstr str,start,len else tmpstr.substr str,i,1 return tmpstr str 這個字元好長呀,short str showshort str,4 擷取前面4個漢字,結果為 這個字元.echo short str functio...
PHP擷取漢字亂碼問題
前提 php.ini開啟編輯,搜尋mbstring.dll ctrl f 找到 extension php mbstring.dll 把前面的 號去掉 mb substr 按字來切分字元 mb strcut 按位元組來切分字元 function mb strcut str,start,length ...
php隨機生成漢字實現方法
gb 2312 80 是中國國家標準簡體中文字符集,全稱 資訊交換用漢字編碼字符集 基本集 由中國國家標準總局發布,1981年5月1日實施。gb2312 編碼通行於中國大陸 新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟體都支援 gb 2312。gb2312 標準共收錄 6763 個...