ホームページ > php教程 > php手册 > php 中文字符串截取函数

php 中文字符串截取函数

WBOY
リリース: 2016-06-06 19:45:15
オリジナル
1500 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート