1. 擷取gb2312中文字串
php< ?php
//擷取中文字串
function mysubstr($str, $start, $len) else
$tmpstr .= substr($str, $i, 1);
} return $tmpstr;
}?>
2. 擷取utf8編碼的多位元組字串
<?php < ?php
//擷取utf8字串
function utf8substr($str, $from, $程式設計客棧len)
'. '((?:[\x00-\x7f]|[\xc0-\xff][\x80-\xbf]+)).*#s',
'$1',$str);
}?>
3. utf-8、gb2312都支援的漢字擷取函式
<?php < ?php
/*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 的字元擷取函式
< ?php
/** * @package bugfree
* @version $id: functionsmain.inc.php 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.
* @param booble $append whether append "...": false|true
* @return string the cutted string.
*/function syssubstr($string,$length,$append = false)
else
elseif( ord($stringtmp) >=192 )
else
$stringlast = $stringtmp;
}$stringlast = implode("",$stringlast);
if($append)
return $stringlast;
}}$string = "17test.info 走在中國自動化測試的前沿";
$length = "18";
$append = false;
echo syssubstr($string,$length,$append);
?>
本文標題: php中文字串擷取多種方法彙總
本文位址:
PHP擷取中文字串方法
程式一 php擷取中文字串方法 由於 首頁以及vtigercrm裡經常在擷取中文字串時出現亂碼 使用substr 今天找到乙個比較好的擷取中文字串方法,在此與大家共享。function msubstr str,start,len else echo newstr 程式二 php擷取utf 8字串,解...
php 擷取中文字串方法
擷取中文字串函式 param str 需要擷取的字串 param start 開始擷取的位置 param length 擷取的長度 return 此函式返回的是乙個陣列,因此要配合join函式來顯示字串 join substring utf8 str,start,lenth public funct...
php中文字串擷取函式支援多種編碼
為大家提供乙個可以支援多種編碼的中文字串擷取函式,有需要的朋友,可以研究下。todo 中文擷取,支援gb2312,gbk,utf 8,big5 link 指令碼學堂 param string str 要擷取的字串 param int start 擷取起始位置 param int length 擷取長...