php中如何擷取中文字串

2021-06-20 00:13:22 字數 1755 閱讀 9685

眾所周知

php原生函式

substr

是不支援擷取中文字串的。下面的**提供了多種擷取

php中文字串的方法。

1. 擷取

gb2312

中文字串

//擷取中文字串 

function mysubstr($str, $start, $len) else

$tmpstr .= substr($str, $i, 1);

} return $tmpstr;

2.

擷取utf8

編碼的多位元組字串

//擷取utf8字串 

function utf8substr($str, $from, $len)

'. '((?:[\x00-\x7f]|[\xc0-\xff][\x80-\xbf]+)).*#s',

'$1',$str);

}

3. utf-8

、gb2312

都支援的漢字擷取函式

/* 

utf-8、gb2312都支援的漢字擷取函式

cut_str(字串, 擷取長度, 開始長度, 編碼);

編碼預設為 utf-8

開始長度預設為 0

*/ function cut_str($string, $sublen, $start = 0, $code = 'utf-8')

else

else

} if(ord(substr($string, $i, 1))>129) $i++;

} if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";

return $tmpstr;

} } $str = "abcd需要擷取的字串";

echo cut_str($str, 8, 0, 'gb2312');

4. bugfree

的字元擷取函式

/** 

* @package bugfree

* @version $id: functionsmain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss exp $

* *

* return part of a string(enhance the function substr())

* * @author chunsheng wang * @param string $string the string to cut.

* @param int $length the length of returned string.

* @return string the cutted string.

*/ else

elseif( ord($stringtmp) >=192 )

else

$stringlast = $stringtmp;

} $stringlast = implode("",$stringlast);

return $stringlast;

} } $string = "17test.info 走在中國自動化測試的前沿";

$length = "18";

php中如何擷取中文字串

眾所周知php原生函式substr是不支援擷取中文字串的。下面的 提供了多種擷取php中文字串的方法。1.擷取gb2312中文字串 php 擷取中文字串 function mysubstr str,start,len else tmpstr substr str,i,1 return tmpstr ...

php 如何擷取中文字串

在 應用中時常需要對相應的字串進行擷取。最常用的是使用substr函式對字串進行擷取。然而,substr和strlen函式只在處理英文本串時可以正確使用,在擷取中文字元時,時常出現亂碼。這時,可以使用mb substr和mb strlen函式。後者與前者用法相似,區別在於後者需要在使用過程中新增乙個...

PHP 中文字串擷取

本文提供兩種方法實現中文字串的擷取 1.使用系統提供的 mb substr 或iconv substr 函式 php.ini 配置檔案中的 mbstring 擴充套件要開啟才能使用 函式說明 string mb substr string str,int start int length null ...