ホームページ  >  記事  >  バックエンド開発  >  複数の PHP 中国語文字列インターセプト関数_PHP チュートリアル

複数の PHP 中国語文字列インターセプト関数_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:25:22873ブラウズ

复制代码代码如下:

function sysSubStr($string,$length,$append = false)
{
if(strlen($string) <= $length )
{
$string を返します。
}
else
{
$i = 0;
while ($i < $length)
{
$stringTMP = substr($string,$i,1);
if ( ord($stringTMP) >=224 )
{
$stringTMP = substr($string,$i,3);
$i = $i + 3;
}
elseif( ord($stringTMP) >=192 )
{
$stringTMP = substr($string,$i,2);
$i = $i + 2;
}
else
{
$i = $i + 1;
}
$stringLast[] = $stringTMP;
}
$stringLast = implode("",$stringLast);
if($append)
{
$stringLast .= "...";
}
return $stringLast;
}
}

$string = "简明现代魔法 —— 相互联网主流の各種技术";
$length = "27";
$追加 = true;
echo sysSubStr($string,$length,$append);
// 输出
// 简明现代魔法 —— 专...
?>

截取GB2312中文字符列:

复制代代码如下:

//截取中文字符列
function mysubstr($str, $start, $len) {
$ tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$i++;
} else
$tmpstr .= substr($str, $i, 1);
}
$tmpstr を返す;
}
?>

截取utf8 )
{
return preg_replace('#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$from.'}'.

'((?:[ x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len.'}).*#s', '$1',$str);}?>


UTF-8、GB2312都サポートの汉字截取関数:




复制代码

代码如下:

/*
Utf-8 および gb2312 でサポートされている漢字インターセプト関数
cut_str(string, インターセプト長, 開始長, エンコーディング)
デフォルトのエンコーディングは utf-8 です
デフォルトの開始長は 0 です
*/

function Cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8')
{
$pa = " / [x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90- xbf ][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('') (( '', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen ($ String); $ TMPSTR; ;
?>






http://www.bkjia.com/PHPjc/825109.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/825109.html

技術記事

次のようにコードをコピーします。 ?php function sysSubStr($string,$length,$append = false) { if(strlen($string) = $length ) { return $string } else { $i = 0; i $length) { $string...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。