眾所周知
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 ...