2015年6月28日

[筆記] PHP 擷取字串常用函式(strchr, strstr, strrchr, substr)


這篇文章主要介紹幾個在擷取字串時常用的函式。



strchr()
strchr(被尋找的字串,目標字母)此函式會用來在被尋找字串中,從字串開頭開始找出欲尋找的字母(目標字母),並回報該目標字母以後的所有字串。用法與strstr()幾乎相同
$string_example='Hello, welcome to PJCHENder';
echo strchr($string_example, "w");
// 輸出結果welcome to PJCHENder
echo strchr($string_example, "o");
// 輸出結果o, welcome to PJCHENder


strrchr()
strchr(被尋找的字串,目標字母)此函式會用來在被尋找字串中,從字串結尾開始找出欲尋找的字母(目標字母),並回報該目標字母以後的所有字串。
$string_example='Hello, welcome to PJCHENder';
echo strrchr($string_example, "w");
// 輸出結果welcome to PJCHENder
echo strrchr($string_example, "o");
// 輸出結果o PJCHENder

簡單來說strchr()和strrchr()這兩個最大的差別在於,前者是從頭開始搜尋,後者則是從尾巴開始搜尋。


substr()
substr(目標字串,開始位置,擷取長度)此函式會擷取在目標字串中,從開始位置到指定擷取長度中間的字串(若沒有指定擷取長度,則從起使位置取到最後)
$string_example='Hello, welcome to PJCHENder';
echo substr($string_example, 7)  // 從第7個字元開始擷取到最後
// 輸出結果welcome to PJCHENder
echo substr($string_example, 7,7) // 從第7個字元開始擷取到7個字元
// 輸出結果welcome
echo substr($string_example, -9) // 從第-9個字元開始擷取到最後
// 輸出結果PJCHENder

若我們只想要擷取目標字母後面的字串時(不要包含目標字母),在官網關於strrchr()討論串的下方,提供了一個方法,就是同時搭配上substr()這個函式,例如我們想要擷取這個網址「http://pjchender.blogspot.tw/2015/06/hyread.html」中hyread.html的部分。
我們可以這麼做
$string_example='http://pjchender.blogspot.tw/2015/06/hyread.html';
echo strrchr($string_example, "/")    // 從尾巴開始搜尋'/'這個符號
// 輸出結果/hyread.html
echo substr(strrchr($string_example, "/"), 1); // 去除掉'/'這個符號,所以從第一個字元開始擷取到最後
// 輸出結果hyread.html

0 意見:

張貼留言