两种方法:1、使用substr()函数截取英文字符串,语法“substr(字符串,起始位置,字符个数)”;2、使用mb_substr()函数截取中文或中英混合字符串,语法“mb_substr(字符串,起始位置,字符个数,"字符编码")”。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
php提供两种方法可以提取字符串中第几位之后的字符:
-
substr()
-
mb_substr()
substr()和mb_substr()的功能类似,但substr()只对英文字符串有用,而mb_substr()对中文、中英混合、英文字符串都有用。
1、使用substr()函数
substr($string, $start [, $length])
参数说明如下:
-
$string:需要截取的字符串,该字符串至少含有一个字符;
-
$start:截取字符串的起始位置;
-
$length:可选参数,表示截取字符串的长度。
想要截取第N位之后的字符,则可$start需设置为N
(因为字符是从0开始计数的,N-1+1=N)。
示例:
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字符串:".$str."<br>"; echo "取第1位之后的一个字符:".substr($str,1,1)."<br>"; echo "取第2位之后的一个字符:".substr($str,2,1)."<br>"; echo "取第3位之后的2个字符:".substr($str,3,2)."<br>"; echo "取第4位之后的全部字符:".substr($str,4)."<br>"; ?>
2、使用mb_substr()函数
mb_substr($str , $start [, $length = NULL [, $encoding = mb_internal_encoding()]])
mb_substr()比substr()函数多了一个可选参数$encoding:表示 $str 的字符编码,如果省略,则使用内部字符编码。
<?php header('content-type:text/html;charset=utf-8'); $str = 'php中文网是一个在线学习编程的网站'; echo "原字符串:".$str."<br>"; echo "取第1位之后的一个字符:".mb_substr($str,1,1,"utf-8")."<br>"; echo "取第2位之后的一个字符:".mb_substr($str,2,1,"utf-8")."<br>"; echo "取第3位之后的2个字符:".mb_substr($str,3,2,"utf-8")."<br>"; ?>
推荐学习:《PHP视频教程》