<?php
//支持中文的substr(string,length[,start])
//“反斜杠”被博客系统过滤了,请在每个 x 前面添加“反斜杠”
function cnsubstr($l1,$l2,$l3=0){
$I2 = "/[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($I2,$l1,$I3);
if (count($I3[0]) - $l3 > $l2) {
return implode('',array_slice($I3[0],$l3,$l2))."...";
}
return implode('',array_slice($I3[0],$l3,$l2));
}
//计算中文字符长度
function len($l1){
$I2 = "/[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($I2,$l1,$I3);
return count($I3[0]);
}
?>
分享到:
相关推荐
4. **字符串处理技巧**:在易语言中,可以结合其他字符串处理函数,如`取字符串长度`、`截取字符串`等,配合`IsTextUTF8`来实现更复杂的文本操作,例如将非UTF-8字符串转换为UTF-8,或者从UTF-8字符串中提取特定部分...
oracle,GBK,UTF-8字符集下获取拼音首字母_拼音截取等 oracle汉字转拼音package_获得全拼—GBK—拼音首字母_拼音截取 oracle汉字转拼音package_获得全拼—UTF8—拼音首字母_拼音截取 还实例。
对于UTF-8编码的字符串来说,由于不同字符(如中文、英文等)在UTF-8编码下占用的字节数不同,简单的按字节长度进行截取往往会导致乱码或者截取不准确。因此,需要一种能够等宽度截取中英文字符的方法。 #### 二、...
4. **字符串操作**:包括查找、替换、截取等基本字符串操作,这些操作都考虑到UTF-8的特性,确保不会破坏多字节字符。 5. **错误处理**:在进行操作时,该库会提供详细的错误报告,帮助开发者追踪和修复编码问题。 ...
在这个场景中,"以utf8格式截取的字符串编码"指的是在处理UTF-8编码的字符串时进行截取操作的方法和注意事项。 首先,我们要理解UTF-8编码的特点。UTF-8是一种变长编码,每个Unicode字符可能由1到4个字节来表示。...
在处理UTF-8编码的中文字符串时,使用`substr`函数进行截取经常会遇到乱码问题。这是因为`substr`函数是基于字节的截取,而UTF-8编码的中文字符通常由多个字节组成。当`substr`不正确地处理这些多字节字符时,截取的...
但是,在当下普遍采用的UTF-8编码中,一个中文字符可能会占用3个字节。这意味着在截取字符串时,不能简单地使用基于字节的函数,如`substr()`,因为这样的处理方式会导致字符串被错误地截断,从而造成乱码。 为了...
然而,由于UTF-8编码下的中文字符占用三个字节,若截取不完整则会导致乱码或“?”的显示。为了解决这个问题,可以编写如下函数对标题进行安全截取: ```php function get_brief_str($str, $max_length) { if ...
这通常是因为UTF-8编码中,一个中文字符可能由多个字节组成,简单的按字节截取可能会将一个中文字符切分成两半,导致乱码的出现。这种现象尤其容易出现在使用标准的PHP字符串截取函数substr()时,因为它没有考虑到...
本篇文章将深入探讨如何在PHP中正确解析UTF-8字符串,这对于处理包含中文、英文以及其他语言字符的文本数据来说尤其重要。 首先,我们需要了解UTF-8编码的基本规则。UTF-8是一种变长编码,每个Unicode字符可以用1到...
中文字符串通常包含UTF-8编码的字符,这与ASCII编码的英文字符串处理方式有所不同。以下将详细讲解如何在PHP中正确截取中文字符串。 首先,我们需要了解UTF-8编码的特点。UTF-8是一种变长的字符编码,英文字符由一...
本篇主要介绍如何自定义截取UTF-8编码下的中文字符串。 在UTF-8编码中,一个中文字符通常由3个字节组成,而英文字符、数字或一些特殊符号只占1个字节。因此,常规的字符串截取函数(如`substr()`)在处理中文字符串...
UTF-8是一种广泛使用的Unicode字符编码,它可以表示世界上几乎所有的字符集,包括中文、英文、日文等。在编程中,正确处理UTF-8编码至关重要,因为它确保了不同语言文字的正确显示。 描述中提到"基于php的系统",这...
在PHP编程中,处理UTF-8编码的字符串时,由于UTF-8是一种多字节的字符编码,中文和英文字符的长度是不一致的。在进行字符串截取时,如果不考虑编码特性,可能会导致截取结果错误。这篇博客“PHP 不区分中英文截取utf...
传统的字符串操作函数在处理UTF-8时可能会出现问题,比如截取字符串长度和计算字符串长度。这里介绍的两个自定义函数,`Cut_Title` 和 `StrLen`,就是为了在ASP环境下正确处理UTF-8编码的字符串而设计的。 `Cut_...
GB2312编码的中文字符占用两个字节,而UTF-8编码的中文字符可能占用三个或更多字节。如果页面的编码方式和数据的编码方式不匹配,就容易出现乱码。 为了解决这个问题,可以编写自定义的modifier来替代truncate修饰...
这是因为这两个函数在设计时可能没有充分考虑多字节字符集,如UTF-8,而中文字符在UTF-8编码下通常由多个字节组成。 当使用`substr()`或`substring()`截取中文字符串时,如果截取的起始位置和长度没有正确地对齐到...