欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php 中文字符串截取函数

程序员文章站 2022-05-14 08:14:56
...

下面这二款函数是二款双字节字符串截取函数,那就是针对中文字符串截取了,好了第一款汉字中文截取函数是越级简洁了,后一款复杂但考虑更多一些。 ? //php教程 中文字符串截取函数 /* 下面这二款函数是二款双字节字符串截取函数,那就是针对中文字符串截取了

下面这二款函数是二款双字节字符串截取函数,那就是针对中文字符串截取了,好了第一款汉字中文截取函数是越级简洁了,后一款复杂但考虑更多一些。


//php教程 中文字符串截取函数
/*
下面这二款函数是二款双字节字符串截取函数,那就是针对中文字符串截取了,好了第一款汉字中文截取函数是越级简洁了,后一款复杂但考虑更多一些。
*/

function substr($str = ”, $offset = 0, $len = 0){
$len || ($len = strlen($str));
preg_match_all(‘/./us’, $str, $result);
return implode(”, array_slice($result[0], $offset, $len));
}

//方法二

if (!function_exists(‘mb_substr’)) {
function mb_substr($str, $start, $len = ”, $encoding="utf-8"){
$limit = strlen($str);

for ($s = 0; $start > 0;–$start) {// found the real start
if ($s >= $limit)
break;

if ($str[$s] ++$s;
else {
++$s; // skip length

while ($str[$s] >= "x80" && $str[$s] ++$s;
}
}

if ($len == ”)
return substr($str, $s);
else
for ($e = $s; $len > 0; –$len) {//found the real end
if ($e >= $limit)
break;

if ($str[$e] ++$e;
else {
++$e;//skip length

while ($str[$e] >= "x80" && $str[$e] ++$e;
}
}

return substr($str, $s, $e – $s);
}
}

?>

爱分享 ? php 中文字符串截取函数