PS:原创文章,如需转载,请注明出处,谢谢!
本文地址:http://flyer0126.iteye.com/blog/1508695
/**
* 截取处理UTF-8编码字符串
* 规则:中文2个字符,数字、英文1个字符;截取末尾不足一个汉字的则舍弃。
* @param string $str
* @param int $len 截取出的字符长度
* @author flyer0126
* @since 2012/05/03
*/
function substr_utf8_cn($str, $len)
{
$length = strlen($str);
if ($length <= $len)
{
return $str;
}
$result_str = '';
for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127)
{
if($i+1<$len)
{
$result_str .= substr($str,0,3);
$str = substr($str,3);
}
$i++;
}
else
{
$result_str .= substr($str,0,1);
$str=substr($str,1);
}
}
return $result_str;
}
//Useage:
$str1 = '截取处理字符串测试内容';
$str2 = '11aa22bb截取处理字符串测试内容';
$str3 = '#$%^截取处理字符串测试内容';
echo substr_utf8_cn($str1, 9, '...'),PHP_EOL;
echo substr_utf8_cn($str2, 9),PHP_EOL;
echo substr_utf8_cn($str3, 9);
//Outputs:
/**
截取处理
11aa22bb
#$%^截取
**/
分享到:
相关推荐
Patchwork UTF-8是一个便携式C++类库,专门设计用于处理UTF-8编码的字符串。UTF-8是一种广泛使用的Unicode字符编码方案,能够表示Unicode标准中的所有字符,包括各种语言的字母、数字和符号。这个类库的出现是为了在...
易语言是一种基于中文编程的程序设计语言,旨在降低编程门槛,让不懂英文的...通过学习和理解这段代码,你可以更好地掌握易语言处理UTF-8编码字符串的方法,并能将其应用到自己的项目中,提高程序的兼容性和健壮性。
为了解决UTF-8编码字符串截取的问题,需要特别注意的是,UTF-8编码下的多字节字符在被截取时,必须同时保留字符的完整性。由于一个UTF-8编码的字符可能由1到4个字节组成,所以不能以字节为单位进行简单的截取操作。 ...
在这个场景中,"以utf8格式截取的字符串编码"指的是在处理UTF-8编码的字符串时进行截取操作的方法和注意事项。 首先,我们要理解UTF-8编码的特点。UTF-8是一种变长编码,每个Unicode字符可能由1到4个字节来表示。...
在处理UTF-8编码的中文字符串时,使用`substr`函数进行截取经常会遇到乱码问题。这是因为`substr`函数是基于字节的截取,而UTF-8编码的中文字符通常由多个字节组成。当`substr`不正确地处理这些多字节字符时,截取的...
在处理PHP中的字符串时,尤其是涉及到UTF-8编码的中文字符串时,常常会遇到字符串被错误地截取,从而产生乱码的问题。这通常是因为UTF-8编码中,一个中文字符可能由多个字节组成,简单的按字节截取可能会将一个中文...
示例代码中定义了`u8_title_substr`函数,通过循环遍历字符串中的每个字符,根据字符的编码类型(1、2、3或4字节)累加相应的权重值,最终实现了等宽度截取UTF-8编码的中英文字符的功能。 #### 五、注意事项 - 在...
php /* 程序功能,$str是中英文混合的UTF-8编码字符串, 将此字符串根据UTF-8的编码规则正确的解码并显示。 */ $str = ‘今天非常Happy,所有决定去KFC吃可乐鸡翅!!!’; /* $str 是待截取的字符串 $len 是截取的字符...
PHP中,`substr()`函数是用于截取字符串的常用方法,但对UTF-8编码的字符串处理并不理想。要实现不区分中英文的截取,我们需要使用`mb_substr()`函数,它是PHP的多字节字符串处理函数,能处理各种字符编码,包括UTF-...
在ASP (Active Server Pages) 开发环境中,处理UTF-8编码的字符串时,通常需要特别注意,因为UTF-8是一种多字节字符编码,每个字符可能由1到4个字节组成。传统的字符串操作函数在处理UTF-8时可能会出现问题,比如...
注意,由于字符可能由多个字节组成(如UTF-8编码中的多字节字符),因此截取字节时可能会截断字符。为了确保完整性,通常需要以字符边界进行截取,这可能需要借助于`codecs`库的`decode()`和`iterdecode()`等方法。 ...
然而,由于UTF-8编码下的中文字符占用三个字节,若截取不完整则会导致乱码或“?”的显示。为了解决这个问题,可以编写如下函数对标题进行安全截取: ```php function get_brief_str($str, $max_length) { if ...
1. **字符串操作函数**:PHP提供了诸如`mb_string`、`iconv`等多字节字符串处理函数,用于正确处理UTF-8编码的字符串,包括拼接、截取、转换等操作。 2. **数据库交互**:在与MySQL、PostgreSQL等支持UTF-8的数据库...
- `initWithUTF8String:`:将UTF-8编码的C字符串转换为NSMutableString对象。 3. **修改字符串内容**: - `setString:`:替换原有内容。 - `appendString:`:在字符串末尾追加内容。 - `appendFormat:`:追加...
例如,如果字符串是UTF-8编码,可以使用`Encoding.UTF8.GetBytes()`方法: ```csharp string str = "你好,世界"; byte[] bytes = Encoding.UTF8.GetBytes(str); ``` 接下来,我们要实现一个按照字节长度截取字符...
而在一些其他语言中,如Java,可能需要先将字符串转换为特定的字符编码(如UTF-8)再进行截取。 在实际应用中,我们可能还需要考虑一些边缘情况,例如当截取的长度超过了字符串的实际长度,这时通常会返回整个字符...
中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们需要了解UTF-8编码的特点。UTF-8是一种变长的字符编码,英文字符由一...