php中文字符串截取函数教程Php

印迹发布于:2019-3-19 1029

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

<?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)); 
}  
?>

 方法二: 

<?php
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] >= "€" && $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] >= "€" && $str[$e] <= "�" && $e < $limit) 
          ++$e; 
      } 
    } 
 
  return substr($str, $s, $e - $s); 
} 
} 
?>


http://www.virplus.com/thread-213.htm

转载请注明:2019-3-19 于 VirPlus 发表

推荐阅读
最新回复 (0)

    ( 登录 ) 后,可以发表评论!

    返回