文章主要介紹了詳解PHP用substr函式擷取字串中的某部分,非常具有實用價值,需要的朋友可以參考下。
經常看到有新手問PHP有沒有類似asp的left函式或right函式,實現擷取某字串左邊或右邊開始N個字元的函式。答案當然是有的。PHP中的substr函式就可以做的到,只不過PHP把二個函式合二為一了。
現在整理了一下substr函式的用法,做了幾個例子以解新人之惑,高手請飄過。
我們先來看一下PHP substr函式的語法:
?
1
string substr(string string, int start, int [length])
引數string為要操作的字串
引數start為你要擷取的字串的開始位置,若start為負數時,則表示從倒數第start開始擷取length個字元
可選引數length為你要擷取的字串長度,若在使用時不指定則預設取到字串結尾。若length為負數時,則表示從start開始向右擷取到末尾倒數第length個字元的位置
起初用這個函式時可能感覺到彆扭,不過你要是把PHP substr函式的.語法搞懂了,那他的功能比asp中的left和right,有過之無不及,非常好用。下面我們舉例來看他的用法:
1、從第4個字元開始擷取到字串末尾,類似asp中的left:
?
1
<?php $str = ""; echo substr($str,4); ?>
輸出:
2、PHP substr函式從右邊擷取3個字元,類似asp中的right:
?
1
<?php $str = ""; echo substr($str,-3); ?>
輸出:
3、PHP substr函式從第4個字元開始擷取3個字元:
?
1
<?php $str = ""; echo substr($str,4,3); ?>
輸出:ico
4、有時我們知道一個字串的開始和結尾,中間是不定長的字元,這時除了用PHP substr函式的正則外我們還可以用substr實現(當然要得到中間的字元方法有N種,在此只是舉例substr的應用):
本例去掉開頭4個字元和結尾3個字元,輸出中間的字串:
?
1
<?php $str = ""; echo substr($str,4,-3); ?>
輸出:icoa