這篇文章帶給大家的內容是關於PHP如何實現按符號截取字串的指定部分(代碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
字串截取在php開發中是比較常用的;
而且對於截取的需求也有很多種;
就比如說對url連結的操作
有時我們想截取最後一個斜杠'/'後面的數字;
有時我們又需要截取第一個斜杠'/'前面的內容判斷用戶輸入的url鏈接帶不帶http://等等;
字串的截取php內建函數就有很多種;
簡單範例如下;
1 $str='123/456/789/abc';
截取第一個斜線前面的內容可以這樣來:
1 echo substr($str,0,strpos($str, '/'))
#或
##
1 $array=explode('/', $str); 2 echo $array[0]; 3 // 输出 123截取第一個斜線後面的內容可以這樣來:
echo trim(strrchr($str, '/'),'/');如果知道斜線的數量
1 $array=explode('/', $str); 2 echo $array[3]; 3 //输出 abc#如果不知道有多少個斜線呢?如果想要第二個斜線和第三個斜線中間的內容呢?
下面這個函數就可以輕鬆解決如上所有問題;
/** * 按符号截取字符串的指定部分 * @param string $str 需要截取的字符串 * @param string $sign 需要截取的符号 * @param int $number 如是正数以0为起点从左向右截 负数则从右向左截 * @return string 返回截取的内容 */ function cut_str($str,$sign,$number){ $array=explode($sign, $str); $length=count($array); if($number<0){ $new_array=array_reverse($array); $abs_number=abs($number); if($abs_number>$length){ return 'error'; }else{ return $new_array[$abs_number-1]; } }else{ if($number>=$length){ return 'error'; }else{ return $array[$number]; } } }#範例
1 echo cut_str($str,'/',0); //输出 123 2 echo cut_str($str,'/',2); //输出 789 3 echo cut_str($str,'/',-1);//输出 abc 4 echo cut_str($str,'/',-3);//输出 456
相關推薦:
以上是PHP如何實作按符號截取字串的指定部分(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!