<?php
/**
* 字符串截长(支持中文)
* @author:zms
* @version:2011-7-27
*/
/**
* 字符串截取
* @param object $str : 字符串(支持中文)
* @param object $start :截取开始位置
* @param object $length:截取结束位置
* @param object $encode [optional]:字符串编码
* @param object $input_encode [optional]:输入的文字的编码
* @return
*/
function substring($str, $start, $length, $encode = 'utf-8', $input_encode = 'utf-8') {
//编码转换
$str = iconv($input_encode, $encode, $str);
//正则匹配
preg_match_all(getRege($encode), $str, $match);
//从数组取得数据,组成字符串
$slice = join("", array_slice($match[0], $start, $length));
return $slice;
}
/**
* 中文编码
* @param object $type
* @return
*/
function getRege($type) {
$rege = "";
switch (strtolower($type)) {
case 'utf-8':
$rege = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
break;
case 'gb2312':
$rege = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
break;
case 'gbk':
$rege = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
break;
case "big5":
$rege = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
break;
default:
echo "charset error";
exit;
}
return $rege;
}
?>
分享到:
相关推荐
C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。
在计算机科学中,字符串是连续的字符序列,可以由字母、数字或其他字符组成,包括汉字。字符串在各种编程语言中都是基本的数据类型,如Python中的`str`,Java中的`String`,JavaScript中的`String`等。 截取字符串...
对于中文字符串的支持,LabVIEW采用Unicode编码,可以很好地处理包含中文字符的字符串。 二、LabVIEW中的字符串数组 在LabVIEW中,数据主要通过数据类型表示,字符串可以以单个字符串或字符串数组的形式存在。字符...
此外,`str_split()`函数也可用于将字符串转换为字符数组,但不支持自定义分隔符,且对于中文字符,每个字符都会被当作一个元素: ```php $str = "你好,世界"; $array = str_split($str); ``` 在某些情况下,可能...
其中,`[\u4e00-\u9fa5]` 是一个表示中文字符范围的正则表达式,它匹配所有在Unicode码表中位于 `\u4e00` 和 `\u9fa5` 之间的字符,即覆盖了大部分常用汉字。`"zz"` 用于替换匹配到的所有中文字符,而 `RegexOptions...
在LabVIEW中处理字符串,尤其是中文字符串,有时会涉及到特殊的技巧和注意事项,因为中文字符是多字节的,与英文等单字节字符处理方式有所不同。这个"LabVIEW拆分中文字符串.rar"文件很可能是提供了一个解决此类问题...
汉化软件好多地方必须设置字符串长度值,不设置正确功能就失效,所以这小工具,希望对大家有帮助。 功能用途:计算字符串的长度,并以十六进制显示 什么是Hex反序:比如说字符长度是 0123,在文件中实际上是 2301
C语言编程-编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度;
使用GDI32中API计算字符串的精确象素长度
### PB判断字符串是否有中文 在PowerBuilder(简称PB)开发中,经常需要处理各种各样的字符串,其中就包括判断一个字符串是否包含中文字符。这对于实现国际化应用、进行文本分析等功能非常有用。本文将详细介绍两种...
在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...
在Delphi编程环境中,处理中文和英文混合的字符串截取是一项常见的任务,特别是在涉及到文本处理、数据解析或者用户界面展示时。由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就...
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符串”。在这个主题中,我们将深入探讨VB中如何实现这一操作,以及...
C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...
C语言strlen()函数:返回字符串的长度 头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s); 【参数说明】s为指定的字符串。 strlen()用来计算指定的字符串s 的...
### PHP字符串处理详解 #### 一、引言 在PHP编程中,字符串处理是一项非常重要的技能。无论是构建网页内容、处理用户输入还是与其他系统交互,掌握如何高效地操作字符串都是必不可少的。本篇文章将深入探讨PHP中的...
在软件开发中,获取字符串长度是一个常见的操作,但是字符串长度的定义并不唯一,通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。下面将介绍五种常见的获取字符串长度的方法。 1. ...
输入一个长度不超过100的字符串,求出这个字符串的长度(不能使用strlen())
在C#中,处理字符串时,我们经常需要从一个较大的字符串中提取出特定部分,比如位于两个已知字符串之间的子串。这在解析日志、处理配置文件或者从HTML源码中提取信息时非常常见。标题中的“字符串提取(获取两个字符...