`
joan0106
  • 浏览: 141023 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

PHP截取字符串

PHP 
阅读更多

< ?php 
/* 
Utf-8、gb2312都支持的汉字截取函数 
cut_str(字符串, 截取长度, 开始长度, 编码); 
编码默认为 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 = ''; 

   for($i=0; $i< $strlen; $i++) { 
      if($i>=$start && $i< ($start+$sublen)) { 
          if(ord(substr($string, $i, 1))>129) { 
                $tmpstr.= substr($string, $i, 2); 
         } else { 
                $tmpstr.= substr($string, $i, 1); 
         } 
     } 
     if(ord(substr($string, $i, 1))>129) 
             $i++; 
   }
    if(strlen($tmpstr)< $strlen )
             $tmpstr.= "..."; 
      return $tmpstr; 
  }

} 

$str = "abcd需要截取的字符串"; 
echo cut_str($str, 8, 0, 'gb2312'); 
?>

 1. 截取GB2312中文字符串

< ?php 
//截取中文字符串 
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); 
   } 
   return $tmpstr; 
} 
?> 

 
2. 截取utf8编码的多字节字符串

<?php 
//截取utf8字符串 
function utf8Substr($str, $from, $len) 
{ 
   return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'. 
   '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s', 
   '$1',$str); 
} 
?> 

 
3. UTF-8、GB2312都支持的汉字截取函数 

 

 
分享到:
评论

相关推荐

    php 截取字符串

    这篇博客将深入探讨PHP如何截取字符串,并通过实例来演示其具体用法。 标题中的“php 截取字符串”主要涉及PHP中的两个核心函数:`substr()` 和 `mb_substr()`。`substr()` 是PHP中用于截取字符串的基本函数,而`mb...

    php截取字符串

    本篇将围绕“PHP截取字符串”这一主题,深入探讨相关的知识点。 首先,我们需要了解PHP中最常用的字符串截取函数——`substr()`。`substr()`函数允许我们从字符串的指定位置开始,截取指定长度的字符。其基本语法...

    PHP 截取字符串后四位.rar

    在PHP中,截取字符串是一项常见的任务,尤其在处理用户输入、数据展示或者文本分析时。标题中的"PHP 截取字符串后四位"指的是我们如何从一个字符串中获取最后四个字符。这通常涉及到PHP的内置函数,如`substr()`或`...

    php截取字符串的类.zip

    &lt;?... class get_c_str {  var $str; ... var $start_str;... $this-&gt;start_pos = strpos($this-&gt;str, $this-&gt;start_str) strlen($this-&gt;start_str);...}这是一个php截取字符串的类,需要的朋友可以下载使用。

    php截取指定字符串之间的字符串的类.zip

    一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。

    php截取字符串函数的方法_.docx

    ### PHP截取字符串函数的方法详解 #### 一、引言 在PHP开发过程中,经常会遇到需要截取字符串的需求。例如,在展示文章摘要时,我们希望只显示部分内容,并且避免截断单词的情况发生。本文将详细介绍一种自定义的...

    最准确的php截取字符串长度函数

    标题中提到的“最准确的php截取字符串长度函数”可能涉及到字符编码的处理,因为不同编码方式下,同一个字符所占的字节数可能是不同的。尤其在处理中文字符的时候,字符编码的处理就显得尤为重要。 描述部分提到了...

    PHP截取字符串,生成文章摘要

    在PHP中,截取字符串并生成文章摘要是常见的任务,特别是在构建内容管理系统或者博客平台时。这个过程涉及到字符串处理和文本分析技术。下面我们将详细探讨如何使用PHP来实现这一功能。 首先,PHP提供了多种内置...

    php截取字符串.docx

    在BugFree项目中,有一个增强版的字符串截取函数`sysSubStr`,该函数提供了一种更灵活的方式来截取字符串: ```php function sysSubStr($String, $Length, $Append = false) { if (strlen($String) $Length) { ...

    PHP中如何截取中文字符串

    在PHP中处理中文字符串截取是一项常见的任务,尤其是在网页开发中。中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们...

    substring截取字符串 字符串截取方法

    Substring截取字符串字符串截取方法 Substring截取字符串字符串截取方法是计算机编程中一种常见的操作,它指的是从字符串中提取某一段子字符串,在不同的编程语言中有不同的实现方式。下面将介绍Substring截取字符...

    php不破坏单词截取子字符串类

    在PHP编程语言中,处理字符串是一项常见的任务,其中包括截取字符串。然而,普通的截取方法如`substr()`可能在处理英文文本时导致单词被割裂,影响可读性。为了解决这个问题,我们可以使用特定的类或函数来实现“不...

    php截取字符串[文].pdf

    ### PHP字符串截取技术详解 #### 一、引言 在软件开发中,字符串处理是一项基本而重要的任务。PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的字符串处理功能。其中,字符串截取是常见的需求之一,尤其是在...

    php通用截取字符串.zip

    "php通用截取字符串"这个主题主要涉及如何在PHP中对字符串进行截取,以便获取我们感兴趣的特定部分。这通常用于显示预览、处理用户输入或者从长文本中提取关键信息。在PHP中,有多种方法可以实现字符串截取,下面...

    PHP 不区分中英文截取utf8字符串

    PHP中,`substr()`函数是用于截取字符串的常用方法,但对UTF-8编码的字符串处理并不理想。要实现不区分中英文的截取,我们需要使用`mb_substr()`函数,它是PHP的多字节字符串处理函数,能处理各种字符编码,包括UTF-...

    字符串按照指定的字节数来截取

    在Python中,可以使用内置的`[start:end]`切片操作来截取字符串。如果要考虑字节,我们需要使用`encode()`方法将字符串转化为字节串,因为Python的切片默认是基于字符的。例如: ```python s = "你好,世界" byte_s...

    PHP 截取字符串函数整理(支持gb2312和utf-8)

    php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = “”; $strlen = $start + $len; for($i = 0; $i &lt; $strlen; $i++) { if(ord(substr($str, $i, 1)) &gt; 0xa0) { $tmpstr .= substr($str,...

    php截取字符串函数分享

    PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。 复制代码 代码如下: /**  * 方法库-截取字符串-【该函数作者未知】  * @param string $...

    PHP按符号截取字符串的指定部分的实现方法

    字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...

    PHP中使用substr()截取字符串出现中文乱码问题该怎么办

    在PHP编程中,字符串操作是常见任务之一,`substr()`函数是PHP提供的一个方便的工具,用于从字符串中截取一部分。然而,当涉及到包含中文字符的字符串时,`substr()`函数可能会引发乱码问题,这主要是由于中文字符在...

Global site tag (gtag.js) - Google Analytics