string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串
(PHP 4 >= 4.0.6, PHP 5)
$str 要获取字符串的目标字符串(字符串起始位置为0)
$start,$str中要使用的第一个字符的位置
$length,获取的子字符串的长度(注意不是结束位置)
$encoding,可指定字符编码(一般用于处理中文字符时使用,同时这个问题碰到的非常多)
<?php mb_internal_encoding ("UTF-8"); //如果把UTF-8改为编码,下面针对于中文字符串处理的值会改变。 echo mb_internal_encoding().""; //获取字符编码为ISO-8859-1 echo mb_substr('abcdefghijk',0,9).""; //abcdefghi echo mb_substr('abcdefghijk',1,5).""; //bcdef echo mb_substr('我们都是中国人',0,9).""; //我们都是中国人 echo mb_substr('我们都是中国人',0,9,'gb2312').""; //我们都是中 echo mb_substr('我们都是中国人',0,9,'utf-8'); //我们都是中国人 ?>
总结:
1、在处理英文字符串的时候,该函数的第四个参数($encoding)可以忽略。
2、在处理中文字符串的时候,就要小心了,一定要考虑编码问题,编码不同,中文的值也不同。
3、在中文字符串导入数据库时,就显得更为重要了。
4、处理字符串或文本的编码能力,是衡量程序员功力的一项标准。
相关推荐
`mb_substr`是PHP中用于处理字符串截取的函数,特别是在处理包含多字节字符(如中文、日文、韩文等)时非常有用。它能够正确地处理各种字符编码,避免因编码不匹配导致的乱码问题。下面将详细解释`mb_substr`函数的...
`substr()` 是PHP中用于截取字符串的基本函数,而`mb_substr()` 则是多字节安全的版本,适用于处理包含多种字符集(如UTF-8)的字符串。 1. **substr() 函数** `substr(string $str, int $start, ?int $length = ...
首先,我们来介绍PHP中的mbstring扩展库,它提供了一系列的多字节字符串处理函数,其中mb_substr函数是专门用来处理多字节字符集(如UTF-8)的字符串截取问题。与substr不同的是,mb_substr在截取字符串时会考虑字符...
这段代码首先检查是否存在多字节字符处理函数mb_substr或者iconv_substr,如果存在,则使用这些函数进行截取。如果不存在,则使用正则表达式的方式进行编码匹配和截取。最后,根据是否需要添加省略号,对截取后的...
以下是一个简单的实现,它检查了PHP环境中是否存在`mb_substr`或`iconv_substr`这两个多字节字符串处理函数,并根据情况使用它们来完成截取操作: ```php function msubstr($str, $start=0, $length, $charset="utf-...
在PHP编程语言中,处理字符串长度是常见的任务。...10. PHP常用字符串长度函数`strlen()`与`mb_strlen()`用法实例分析 通过学习这些文章,您可以更全面地掌握PHP处理字符串长度的方法,提高代码的健壮性和兼容性。
通过`mb_substr()`函数可以精确地截取中英文字符和数字,而通过编写正则表达式配合`mb_ereg_replace()`函数,则可以有效地过滤掉字符串中的多余空格。在实践中,还需要注意扫描文档中可能出现的文字识别错误,并对其...
由于中文字符占用的字节数与英文字符不同,普通的字符串截取函数如`substr()`不能直接应用于中文字符串,这会导致中文字符被错误分割,从而产生乱码。考虑到中文字符在UTF-8编码下通常占用3个字节,在GB2312编码下...
`str_split`函数可以按指定长度分割字符串,`strrev`用于反转字符串,`mb_substr`用于处理多字节字符(如汉字)的截取,`strstr`用于查找字符串中是否包含特定字符,以及`Parse_str`函数可以自动解析查询字符串。...
此函数首先计算原字符串的长度,然后根据计算结果,利用 `mb_substr` 函数先截取出前140个字符的部分。接着,函数尝试从剩下的字符串中继续截取字符,直到遇到中文的结束标点。 在截取过程中,函数使用一个循环,...
2. **截取一定长度的字符串**:`mb_substr()` 是一个适用于多字节编码(如GB2312)的字符串截取函数,它允许你按照指定的字符编码和长度来截取字符串。 3. **取得客户端 IP 地址**:`$_SERVER['REMOTE_ADDR']` 变量...
本文实例讲述了PHP中字符串长度的截取用法。分享给大家供大家参考,具体如下: php中提供了很多使用函数,其中字符串的截取函数也不例外,而且功能也非常强大。 <?php //文件编码格式为UTF-8 $str='\u5728\u516c...
字符串处理函数是 PHP 中的一些函数,它们可以处理字符串相关的操作。常见的字符串处理函数有: * trim():删除字符串两端的空白字符。 * explode():将字符串分割成数组。 * implode():将数组合并成字符串。 * ...
除了这些自定义函数外,文件中还提到了mb_substr函数,这是PHP的多字节字符串函数,可以直接用于UTF-8编码的字符串截取,但需要注意的是,在使用该函数时必须指定正确的字符编码(本例中为"utf8")。使用mb_substr...
接下来,我们将详细探讨PHP中常用的字符串函数,这不仅包括判断类型的函数,还涵盖了获取子串位置、获取子串、字符串型函数以及长度、翻转等操作。 首先,判断类型函数是PHP中非常实用的一类函数,它们用于检查变量...
实例4中,`mb_strlen()` 返回字符串的长度,`mb_substr()` 截取字符串的一部分。这里还提供了一个自定义函数 `my_mb_strlen()` 来模拟`mb_strlen()` 的功能,用于处理GB2312编码的字符串。 字符串的查找和替换操作...
本文实例讲述了php实现字符串翻转的方法。分享给大家供大家参考。具体实现方法如下: <?php header(content-type:text/html;charset=utf-8); /** 此函数的作用是反转中文字符串 mb_strlen() 获取字符的长度 mb_...