首頁 >後端開發 >php教程 >PHP如何實作按符號截取字串的指定部分(程式碼)

PHP如何實作按符號截取字串的指定部分(程式碼)

不言
不言原創
2018-09-12 16:42:454208瀏覽

這篇文章帶給大家的內容是關於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 &#39;error&#39;;
        }else{
            return $new_array[$abs_number-1];
        }
    }else{
        if($number>=$length){
            return &#39;error&#39;;
        }else{
            return $array[$number];
        }
    }
}

#範例

1 echo cut_str($str,&#39;/&#39;,0); //输出 123
2 echo cut_str($str,&#39;/&#39;,2); //输出 789
3 echo cut_str($str,&#39;/&#39;,-1);//输出 abc
4 echo cut_str($str,&#39;/&#39;,-3);//输出 456

相關推薦:

PHP按符號截取字串的指定部分

#php依照指定長度截取字串的程式碼

以上是PHP如何實作按符號截取字串的指定部分(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn