`

PHP 截取字符串的函数

    博客分类:
  • php
 
阅读更多
/**
 * 截取字符串的函数
 *
 * @param	string		$str		被截取的字符串
 * @param	int			$length		截取的长度
 * $param	string		$charset	编码设置,utf8,gbk
 *
 * @return  string
 */
function sub_str($str, $length = 0, $charset='utf8') {
	$str = trim($str);
	$strlength = strlen($str);
	$charset = strtolower($charset);//将字符串转化为小写
        $i=0;
	if ($charset == 'utf8') {
		$l = 0;
		
		while ($i < $strlength) {
			if (ord($str{$i}) < 0x80) {//返回字符的 ASCII 码值
				$l++; $i++;
			} else if (ord($str{$i}) < 0xe0) {
				$l++; $i += 2; 
			} else if (ord($str{$i}) < 0xf0) { 
				$l += 2; $i += 3; 
			} else if (ord($str{$i}) < 0xf8) {
				$l += 1; $i += 4; 
			} else if (ord($str{$i}) < 0xfc) { 
				$l += 1; $i += 5; 
			} else if (ord($str{$i}) < 0xfe) { 
				$l += 1; $i += 6; 
			}

			if ($l >= $length) { 
				$newstr = substr($str, 0, $i);
				break;
			}
		}
		if($l < $length) {
			return $str;
		}
	} elseif($charset == 'gbk') {
		if ($length == 0 || $length >= $strlength) {
			return $str;
		}
		while ($i <= $strlength) {
			if (ord($str{$i}) > 0xa0) { 
				$l += 2; $i += 2;
			} else {
				$l++; $i++;
			}

			if ($l >= $length) { 
				$newstr = substr($str, 0, $i);
				break;
			}
		}
	}


	return $newstr;
}

 

分享到:
评论

相关推荐

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

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

    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截取字符串函数,并鼓励读者在现有基础上进行改进或创新,说明作者可能对目前函数的精确度持有开放态度,并期待读者的反馈与改进。 在标签方面,除了关注PHP本身截取...

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

    Substring截取字符串字符串截取方法是指从字符串中提取某一段子字符串的过程,通常会使用“切割”的方式,把字符串的一段子字符串截取出来,该子字符串以索引指定,也可以使用正则表达式或函数实现字符串截取。...

    php通用截取字符串.zip

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

    支持中文和其他编码的php截取字符串函数分享(截取中文字符串)

    需要注意的是,这种方法虽然能够在不支持`mb_substr()`和`iconv_substr()`的环境中使用,但性能上往往不如原生的多字节字符串函数。而且,正则表达式匹配在处理大字符串时可能会比较慢,且正则表达式的复杂性也可能...

    php 截取字符串

    标题中的“php 截取字符串”主要涉及PHP中的两个核心函数:`substr()` 和 `mb_substr()`。`substr()` 是PHP中用于截取字符串的基本函数,而`mb_substr()` 则是多字节安全的版本,适用于处理包含多种字符集(如UTF-8...

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

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

    PHP中如何截取中文字符串

    总结,处理中文字符串截取时,理解字符编码和字符串处理函数的特性至关重要。PHP的mbstring扩展提供了强大且安全的方法来处理多字节字符,确保了中文字符串截取的准确性。在编写代码时,要时刻关注字符串的编码类型...

    php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析

    在PHP中,常见的截取字符串函数有substr、iconv_substr和mb_substr。它们各自有不同的特点和适用场景,下面将详细介绍这三个函数并分析它们的优劣。 substr函数是最基本的字符串截取函数,它可以截取指定长度的字符...

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

    字符串的截取php内置函数就有很多种; 简单示例如下;  $str='123/456/789/abc'; 截取第一个斜杠前面的内容可以这样来:  echo substr($str,0,strpos($str, '/')) 或者 $array=explode('/', $str); echo $array...

    Thinkphp模板中截取字符串函数简介

    - **PHP字符串函数**:了解更多字符串处理函数,如`strstr`、`strpos`、`trim`等。 - **PHP钩子系统**:学习如何在ThinkPHP中使用钩子进行扩展和插件开发。 - **PHP多表查询**:理解如何在数据库层面进行复杂的...

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

    首先,PHP提供了多种内置函数来截取字符串,其中最常用的是`substr()`和`mb_substr()`。 1. `substr()`函数:这是一个基本的字符串截取函数,适用于纯ASCII字符串。它的语法是`substr(string, start, length)`。`...

    php截断字符串优化函数 php截断字符串优化函数

    1. **基本字符串截断方法:**PHP中最基础的字符串截断方法是使用`substr()`函数。该函数接受三个参数:原始字符串、开始位置和长度。例如,`substr($str, 0, 20)`会返回字符串的前20个字符。然而,这种方法不考虑...

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

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

    php截取字符串

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

Global site tag (gtag.js) - Google Analytics