兩種擷取方法:1、使用substr()函數,只需要將該函數的第二個引數設定為0,第三個引數設定為N即可擷取英文字串的前N位,語法「substr(字串,0,N)」。2、使用mb_substr()函數,只需要將該函數的第二個引數設定為0,第三個引數設定為N即可擷取字串的前N位,語法「mb_substr(字串,0,N,字元編碼)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
PHP中想要擷取字串,可以使用兩個函數:substr()函數或mb_substr()函數。
方法1:使用substr()函數擷取字串
substr() 函數可以從字串的指定位置擷取一定長度的字元。
substr(string,start,length)
引數 | 描述 |
---|---|
string | 必需。規定要返回其中一部分的字串。 |
start | 必需。規定在字串的何處開始。
|
length | 可選。規定要返回的字串長度。預設是直到字串的結尾。
|
只需要將該函數的第二個引數設定為0,第三個引數設定為N即可擷取字串的前N位。
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字串:".$str."<br>"; echo "擷取前1位:".substr($str,0,1)."<br>"; echo "擷取前2位:".substr($str,0,2)."<br>"; echo "擷取前3位:".substr($str,0,3)."<br>"; echo "擷取前4位元:".substr($str,0,4)."<br>"; echo "擷取前5位:".substr($str,0,5)."<br>"; ?>
注:substr() 函數對英文的處理是沒有任何問題的,但是在開發中我們往往是處理中文字元比較多,substr() 函數雖然也能處理中文,但是不是很完美。
<?php header('content-type:text/html;charset=utf-8'); $str="歡迎來到PHP中文網"; echo "原字串:".$str."<br>"; echo "擷取前1位:".substr($str,0,1)."<br>"; echo "擷取前2位:".substr($str,0,2)."<br>"; ?>
那麼怎麼擷取中文字元呢?可以使用mb_substr()函數。
方法2:使用mb_substr()函數擷取字串
mb_substr() 函數可以從一個字串中擷取指定的一部分,與 substr() 函數不同的是,mb_substr() 函數不僅對英文字元有效,對中文字元同樣有效。
mb_substr(string,start,length,encoding)
引數 | 描述 |
---|---|
str | 必需。從該 string 中提取子字串。 |
start | 必需。規定在字串的何處開始。
|
length | 可選。規定要返回的字串長度。預設是直到字串的結尾。
|
encoding | 可選。字元編碼。如果省略,則使用內部字元編碼。 |
只需要將該函數的第二個引數設定為0,第三個引數設定為N即可擷取字串的前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>"; ?>
推薦學習:《》
以上就是php怎麼擷取字串的前幾位的詳細內容,更多請關注TW511.COM其它相關文章!