< ?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中的两个核心函数:`substr()` 和 `mb_substr()`。`substr()` 是PHP中用于截取字符串的基本函数,而`mb...
本篇将围绕“PHP截取字符串”这一主题,深入探讨相关的知识点。 首先,我们需要了解PHP中最常用的字符串截取函数——`substr()`。`substr()`函数允许我们从字符串的指定位置开始,截取指定长度的字符。其基本语法...
在PHP中,截取字符串是一项常见的任务,尤其在处理用户输入、数据展示或者文本分析时。标题中的"PHP 截取字符串后四位"指的是我们如何从一个字符串中获取最后四个字符。这通常涉及到PHP的内置函数,如`substr()`或`...
<?... class get_c_str { var $str; ... var $start_str;... $this->start_pos = strpos($this->str, $this->start_str) strlen($this->start_str);...}这是一个php截取字符串的类,需要的朋友可以下载使用。
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
### PHP截取字符串函数的方法详解 #### 一、引言 在PHP开发过程中,经常会遇到需要截取字符串的需求。例如,在展示文章摘要时,我们希望只显示部分内容,并且避免截断单词的情况发生。本文将详细介绍一种自定义的...
标题中提到的“最准确的php截取字符串长度函数”可能涉及到字符编码的处理,因为不同编码方式下,同一个字符所占的字节数可能是不同的。尤其在处理中文字符的时候,字符编码的处理就显得尤为重要。 描述部分提到了...
在PHP中,截取字符串并生成文章摘要是常见的任务,特别是在构建内容管理系统或者博客平台时。这个过程涉及到字符串处理和文本分析技术。下面我们将详细探讨如何使用PHP来实现这一功能。 首先,PHP提供了多种内置...
在BugFree项目中,有一个增强版的字符串截取函数`sysSubStr`,该函数提供了一种更灵活的方式来截取字符串: ```php function sysSubStr($String, $Length, $Append = false) { if (strlen($String) $Length) { ...
在PHP中处理中文字符串截取是一项常见的任务,尤其是在网页开发中。中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们...
Substring截取字符串字符串截取方法 Substring截取字符串字符串截取方法是计算机编程中一种常见的操作,它指的是从字符串中提取某一段子字符串,在不同的编程语言中有不同的实现方式。下面将介绍Substring截取字符...
在PHP编程语言中,处理字符串是一项常见的任务,其中包括截取字符串。然而,普通的截取方法如`substr()`可能在处理英文文本时导致单词被割裂,影响可读性。为了解决这个问题,我们可以使用特定的类或函数来实现“不...
### PHP字符串截取技术详解 #### 一、引言 在软件开发中,字符串处理是一项基本而重要的任务。PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的字符串处理功能。其中,字符串截取是常见的需求之一,尤其是在...
"php通用截取字符串"这个主题主要涉及如何在PHP中对字符串进行截取,以便获取我们感兴趣的特定部分。这通常用于显示预览、处理用户输入或者从长文本中提取关键信息。在PHP中,有多种方法可以实现字符串截取,下面...
PHP中,`substr()`函数是用于截取字符串的常用方法,但对UTF-8编码的字符串处理并不理想。要实现不区分中英文的截取,我们需要使用`mb_substr()`函数,它是PHP的多字节字符串处理函数,能处理各种字符编码,包括UTF-...
在Python中,可以使用内置的`[start:end]`切片操作来截取字符串。如果要考虑字节,我们需要使用`encode()`方法将字符串转化为字节串,因为Python的切片默认是基于字符的。例如: ```python s = "你好,世界" byte_s...
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,...
PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。 复制代码 代码如下: /** * 方法库-截取字符串-【该函数作者未知】 * @param string $...
字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...
在PHP编程中,字符串操作是常见任务之一,`substr()`函数是PHP提供的一个方便的工具,用于从字符串中截取一部分。然而,当涉及到包含中文字符的字符串时,`substr()`函数可能会引发乱码问题,这主要是由于中文字符在...