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