php有mb_substr()函数。在php中mb_substr()是用来截中文与英文字符串的函数。
mb_substr()函数在php中默认是不被支持的,我们需要在windows目录下找到并打开php.ini配置文件,搜索“mbstring.dll
”,找到“;extension=php_mbstring.dll
”项,把前面的“;
”号去掉才可以使用mb_substr()函数。
mb_substr() 函数介绍
mb_substr() 函数是返回字符串的一部分, substr() 函数只针对英文字符,如果要分割的中文文字则需要使用 mb_substr()。
语法
mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string
参数 | 描述 |
---|---|
str | 必需。从该 string 中提取子字符串。 |
start | 必需。1. 规定在字符串的何处开始。 2. 正数 - 在字符串的指定位置开始负数 - 在从字符串结尾的指定位置开始 3. 0 - 在字符串中的第一个字符处开始 |
length | 可选。规定要返回的字符串长度。1. 默认是直到字符串的结尾。2. 正数 - 从 start 参数所在的位置返回3. 负数 - 从字符串末端返回 |
encoding | 可选。字符编码。如果省略,则使用内部字符编码。 |
注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
技术细节
返回值: | 返回字符串的提取部分,如果失败则返回 FALSE,或者返回一个空字符串。 |
---|---|
PHP 版本: | 4+ |
使用示例:截取字符串的前N位
<?php header('content-type:text/html;charset=utf-8'); $str="欢迎来到PHP中文网"; echo "原字符串:".$str."<br>"; echo "截取前1位:".mb_substr($str,0,1,"utf-8")."<br>"; echo "截取前2位:".mb_substr($str,0,2,"utf-8")."<br>"; ?>
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字符串:".$str."<br>"; echo "截取前1位:".mb_substr($str,0,1,"utf-8")."<br>"; echo "截取前2位:".mb_substr($str,0,2,"utf-8")."<br>"; ?>