您的位置:首页 > 编程语言 > PHP开发

php 中文字符串截取函数

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

<?

//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] <= "x7f")

      ++$s;

    else {

      ++$s; // skip length

      while ($str[$s] >= "x80" && $str[$s] <= "xbf")

        ++$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] <= "x7f")

        ++$e;

      else {

        ++$e;//skip length

        while ($str[$e] >= "x80" && $str[$e] <= "xbf" && $e < $limit)

          ++$e;

      }

    }

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

}

}

?>

转载请注明:爱分享 » php
中文字符串截取函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php function