php字符串截取的3個簡單方法
布爾值為可選,為 true 返回第一次出現之前的字符串部分,默認為false 返回 返回第一次出現之前的字符串部分 strchr與strstr一樣,strstr不區分大小寫。
echo strstr('歡迎來到我們的官方網站','官方');//輸出結果:官方網站 echo strstr('歡迎來到我們的官方網站','官方',true);//輸出結果:歡迎來到我們的該方法輸出指定字符之后的內容時會包含指定的字符串一起輸出
二、substr函數截取字符串中的某部分1、substr或指定字符串最后一次出現之前的內容$test = '/home/test/test.txt';$result = substr($test,0,strrpos($test,'/'));echo $result;//輸出結果:/home/test2、substr或指定字符串最后一次出現之后的內容$number = '/home/test/test.txt';$result = substr($number,strripos($number,'/')+1);echo $result;//輸出結果:test.txt3、substr("原始字符",開始截取的位置 ,截取的字符長度)echo substr('Welcome to our official website',5);//輸出結果: me to our official websiteecho substr('Welcome to our official website',5,2);//輸出結果: meecho substr('Welcome to our official website',-5); //從右至左截取5個字符//輸出結果: bsite該方法截取中文字符時會出現問題,一個漢字占用三個字節
三、使用mb_substr()函數取字符串中的某部分 (中文截取推薦)mb_substr("原始字符",開始截取的位置 ,截取的字符長度,"字符串編碼") 該方法與substr類似多了個字符串編碼選取,解決了截取中文字符出錯得問題。(必須設置截取長度)
echo mb_substr('歡迎來到我們的官方網站',5,3,'utf-8'); //第5個字符開始,截取三個字符//輸出結果:們的官補充知識:PHP substr()截取字符串詳解substr() 函數可以從字符串的指定位置截取一定長度的字符,這段被截取的字符可稱為“子串”或者“子字符串”,其語法格式如下:
substr($string, $start [, $length])
參數說明如下:
$string:需要截取的字符串,該字符串至少含有一個字符;$start:截取字符串的起始位置;如果 $start 是非負數,那么字符串將從 $string 的第 $start 個字符處開始截取,$start 從 0 開始計算。例如在字符串“abcdef”中,在 0 位置的字符是“a”,在 2 位置的字符串是 “c” 等等;如果 $start 是負數,那么字符串將從 $string 結尾處向前數第 $start 個字符開始,$start 從 -1 開始計算。例如在字符串“abcdef”中,在 -1 位置的字符是“f”,在 -3 位置的字符是“d”等等;如果 $string 的長度小于 $start,將返回 FALSE。$length:可選參數,表示截取字符串的長度。如果 $length 為正數,那么字符串將從 $start 位置向后截取最多 $length 個字符;如果 $length 為負數,那么 $string 末尾的 $length 個字符將會被省略(若 $start 是負數則從字符串尾部算起);如果 $length 的值為 0,FALSE 或 NULL,那么將返回一個空字符串;如果沒有提供 $length,那么返回的子字符串將從 $start 位置開始直到字符串的結尾。【示例】使用 substr() 函數,截取指定長度的字符串。
<?php$str = 'http://c.biancheng.net/php/';echo substr($str, 7).'<br>';echo substr($str, -5).'<br>';echo substr($str, 7, 15).'<br>';echo substr($str, 7, -5).'<br>';echo substr($str, -20, -5).'<br>';echo substr($str, -20, 15).'<br>';var_dump(substr($str, 30));echo '<br>';var_dump(substr($str, 7, 0));?>運行結果如下:
c.biancheng.net/php//php/c.biancheng.netc.biancheng.netc.biancheng.netc.biancheng.netbool(false)string(0) ""
substr() 函數對英文的處理是沒有任何問題的,但是在開發中我們往往是處理中文字符比較多,substr() 函數雖然也能處理中文,但是不是很完美。
總結到此這篇關于php字符串截取的3個簡單方法的文章就介紹到這了,更多相關php字符串截取內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!