截取方法:1、使用substr()函數,語法「substr(字串,截取字串的起始位置,截取字串的長度)」;2、使用mb_substr()函數,語法「 mb_substr(字串,截取字串的起始位置,截取字串的長度,字元編碼)」。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
在php中,想要從指定位置開始截取字串,可以使用substr()和mb_substr()函數。
substr()和mb_substr()函數都可以實作截取字串,兩者的差異只在於對中文字元的處理。下面來了解這兩個函數。
substr()函數截取字串
substr() 函數可以從字串的指定位置截取一定長度的字元。
範例:
<?php echo substr("Hello world",0,10)."<br>"; echo substr("Hello world",1,8)."<br>"; echo substr("Hello world",0,5)."<br>"; echo substr("Hello world",6,6)."<br><br>"; echo substr("Hello world",0,-1)."<br>"; echo substr("Hello world",-10,-2)."<br>"; echo substr("Hello world",0,-6)."<br>"; echo substr("Hello world",-2-3)."<br><br>"; echo substr("欢迎来到PHP中文网",0,3)."<br>"; ?>
substr() 函數對英文的處理是沒有任何問題的,但是在開發中我們往往是處理中文字元比較多,substr() 函數雖然也能處理中文,但不是很完美。那怎麼截取中文字元呢?可以使用mb_substr()函數。
mb_substr()函數截取中文字串
mb_substr() 函數可以從一個字串中截取指定的一部分,與substr() 函數不同的是, mb_substr() 函數不僅對英文字元有效,對中文字元同樣有效。
<?php header("Content-type:text/html;charset=utf-8"); $str = '欢迎访问PHP中文网,一个在线学习编程的网站。'; echo mb_substr($str,0, 4,"utf-8").'<br>'; echo mb_substr($str, -19,strlen($str),"utf-8").'<br>'; echo mb_substr($str, 4, 6,"utf-8").'<br>'; echo mb_substr($str, 4, -16,"utf-8").'<br>'; echo mb_substr($str, -19, -13,"utf-8").'<br>'; echo mb_substr($str, -19, 6,"utf-8").'<br>'; var_dump(mb_substr($str, 40,"utf-8")); echo '<br>'; var_dump(mb_substr($str, 4, null,"utf-8")); ?>
使用技巧:
使用 mb_substr() 函數截取指定長度的字串,超出的部分使用「...」取代。
<?php header("Content-type:text/html;charset=utf-8"); $str = 'php中文网是一个在线学习编程的网站,我们发布了多套文字教程,它们都通俗易懂,深入浅出。'; if(strlen($str)>18){ echo mb_substr($str, 0, 18,"utf-8").'...'; }else{ echo $str; } ?>
推薦學習:《PHP影片教學》
以上是php怎麼實作從第幾位截取字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!