兩種方法:1、使用substr()函數(shù)截取英文字符串,語(yǔ)法“substr(字符串,起始位置,字符個(gè)數(shù))”;2、使用mb_substr()函數(shù)截取中文或中英混合字符串,語(yǔ)法“mb_substr(字符串,起始位置,字符個(gè)數(shù),"字符編碼")”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php提供兩種方法可以提取字符串中第幾位之后的字符:
-
substr()
-
mb_substr()
substr()和mb_substr()的功能類似,但substr()只對(duì)英文字符串有用,而mb_substr()對(duì)中文、中英混合、英文字符串都有用。
1、使用substr()函數(shù)
substr($string, $start [, $length])
參數(shù)說(shuō)明如下:
-
$string:需要截取的字符串,該字符串至少含有一個(gè)字符;
-
$start:截取字符串的起始位置;
-
$length:可選參數(shù),表示截取字符串的長(zhǎng)度。
想要截取第N位之后的字符,則可$start需設(shè)置為N
(因?yàn)樽址菑?開(kāi)始計(jì)數(shù)的,N-1+1=N)。
示例:
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字符串:".$str."<br>"; echo "取第1位之后的一個(gè)字符:".substr($str,1,1)."<br>"; echo "取第2位之后的一個(gè)字符:".substr($str,2,1)."<br>"; echo "取第3位之后的2個(gè)字符:".substr($str,3,2)."<br>"; echo "取第4位之后的全部字符:".substr($str,4)."<br>"; ?>
2、使用mb_substr()函數(shù)
mb_substr($str , $start [, $length = NULL [, $encoding = mb_internal_encoding()]])
mb_substr()比substr()函數(shù)多了一個(gè)可選參數(shù)$encoding:表示 $str 的字符編碼,如果省略,則使用內(nèi)部字符編碼。
<?php header('content-type:text/html;charset=utf-8'); $str = 'php中文網(wǎng)是一個(gè)在線學(xué)習(xí)編程的網(wǎng)站'; echo "原字符串:".$str."<br>"; echo "取第1位之后的一個(gè)字符:".mb_substr($str,1,1,"utf-8")."<br>"; echo "取第2位之后的一個(gè)字符:".mb_substr($str,2,1,"utf-8")."<br>"; echo "取第3位之后的2個(gè)字符:".mb_substr($str,3,2,"utf-8")."<br>"; ?>
推薦學(xué)習(xí):《PHP視頻教程》