<?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中,数据主要通过数据类型表示,字符串可以以单个字符串或字符串数组的形式存在。字符...
或者,如果项目允许升级到VB.NET或其他支持Unicode的.NET语言,可以使用内置的字符串处理函数,如`Length`或`Count`,它们会自动处理中文字符串的长度。 总之,获取中文字符串长度的关键在于正确处理字符编码,特别...
此外,`str_split()`函数也可用于将字符串转换为字符数组,但不支持自定义分隔符,且对于中文字符,每个字符都会被当作一个元素: ```php $str = "你好,世界"; $array = str_split($str); ``` 在某些情况下,可能...
其中,`[\u4e00-\u9fa5]` 是一个表示中文字符范围的正则表达式,它匹配所有在Unicode码表中位于 `\u4e00` 和 `\u9fa5` 之间的字符,即覆盖了大部分常用汉字。`"zz"` 用于替换匹配到的所有中文字符,而 `RegexOptions...
在LabVIEW中处理字符串,尤其是中文字符串,有时会涉及到特殊的技巧和注意事项,因为中文字符是多字节的,与英文等单字节字符处理方式有所不同。这个"LabVIEW拆分中文字符串.rar"文件很可能是提供了一个解决此类问题...
在这个"rf.rar"压缩包中,我们看到涉及到RF字符串处理的三个关键知识点:RF字符串截取、RF字符串比较以及RF字符串切割。 1. RF字符串截取: 正则表达式提供了灵活的字符串截取方式。通过定义匹配模式,可以精确地...
汉化软件好多地方必须设置字符串长度值,不设置正确功能就失效,所以这小工具,希望对大家有帮助。 功能用途:计算字符串的长度,并以十六进制显示 什么是Hex反序:比如说字符长度是 0123,在文件中实际上是 2301
在Delphi编程环境中,处理中文和英文混合的字符串截取是一项常见的任务,特别是在涉及到文本处理、数据解析或者用户界面展示时。由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就...
"labview字符串数组转字符串"这个主题是关于如何将一个包含多个字符串的数组转换为单个连续的字符串。在这个过程中,我们需要理解LabVIEW的数据结构、字符串操作函数以及如何利用它们来实现这种转换。 首先,...
C语言编程-编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度;
### PB判断字符串是否有中文 在PowerBuilder(简称PB)开发中,经常需要处理各种各样的字符串,其中就包括判断一个字符串是否包含中文字符。这对于实现国际化应用、进行文本分析等功能非常有用。本文将详细介绍两种...
使用GDI32中API计算字符串的精确象素长度
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
然而在实际应用中,用户可能会遇到在尝试向CLOB字段插入超过一定长度的字符串时,数据库返回“字符串过长”的错误信息。根据给出的内容,当尝试插入包含1000到2000字的文章时,用户遇到了该问题。 通过查看提供的...
在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 的...
在Oracle数据库中,判断一个字符串是否包含汉字是一个常见的需求,特别是在处理含有中文信息的字段时。Oracle数据库中提供了多种方法来进行此类判断,主要包括使用length和lengthb函数结合to_single_byte函数、使用...