<?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`等。 截取字符串...
此外,`str_split()`函数也可用于将字符串转换为字符数组,但不支持自定义分隔符,且对于中文字符,每个字符都会被当作一个元素: ```php $str = "你好,世界"; $array = str_split($str); ``` 在某些情况下,可能...
汉化软件好多地方必须设置字符串长度值,不设置正确功能就失效,所以这小工具,希望对大家有帮助。 功能用途:计算字符串的长度,并以十六进制显示 什么是Hex反序:比如说字符长度是 0123,在文件中实际上是 2301
使用GDI32中API计算字符串的精确象素长度
在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符串”。在这个主题中,我们将深入探讨VB中如何实现这一操作,以及...
C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...
其中一项常见的需求就是检测一个字符串中是否包含中文字符。这在多种应用场景下都非常有用,比如中文输入验证、数据清洗等。本篇文章将详细介绍如何利用正则表达式来实现这一功能。 ### 一、正则表达式的概念 正则...
### PHP字符串处理详解 #### 一、引言 在PHP编程中,字符串处理是一项非常重要的技能。无论是构建网页内容、处理用户输入还是与其他系统交互,掌握如何高效地操作字符串都是必不可少的。本篇文章将深入探讨PHP中的...
输入一个长度不超过100的字符串,求出这个字符串的长度(不能使用strlen())
* 根据Unicode编码完美的判断中文汉字和符号 * @param c 要判断的 字符 * @return boolean */ private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); ...
### Java中截取带汉字的字符串 在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取这些字符串。如果直接按照字节(byte)来进行分割,很容易导致中文字符被截断一半,从而形成乱码。...
在Delphi编程环境中,处理中文和英文混合的字符串截取是一项常见的任务,特别是在涉及到文本处理、数据解析或者用户界面展示时。由于Unicode编码的存在,中文字符通常占据两个字节,而英文字符则占据一个字节,这就...
将“删除字符”函数拖放到前面板,设置输入为你的字符串,将“要删除的字符”设置为32,输出就是没有空格的新字符串。 3. **计算字符长度**: 计算字符串的字符长度,可以使用“字符串长度”函数。将该函数拖放到...
这个名为“一个php截取指定字符串之间的字符串的类”的资源提供了一个专门用于在字符串中截取特定部分的类。此类可以帮助开发者更加灵活和高效地操作字符串,尤其是在处理HTML、XML或者其他结构化数据时。 字符串...
在 PowerBuilder (PB) 开发环境中,有时我们需要处理包含中文和英文字符的字符串,并将它们分开。例如,给定的标题 "Pb字符串中的中文和英文(含符号)拆分" 描述了一个需求:将像 '中字A文C' 这样的字符串拆分为 '...
一个JS函数,可以获取你当前输入的字符串的长度,其中中文字符和全角字符是2个长度