PHP substr_replace 函數

PHP substr_replace 函數的功能是用來將一個字串中的某的部份更換為其它的內容,而且 PHP 的 substr_replace 函數還允許 PHP 設計師自己決定要從字串的哪個地方開始替換以及要替換的字串總長度,除此之外,PHP 4.3.3 開始還增加了陣列元素的替換,讓 substr_replace 函數的功能越來越強大,值得注意的地方是,如果用 PHP substr_replace 函數替換字串的部份內容,最終會回傳一個字串,如果用 PHP substr_replace 函數替換的是陣列內容,最終會回傳一個新的陣列(PHP Array 陣列)。

PHP substr_replace 函數語法
substr_replace ( $string , $replacement , $start , $length )
PHP substr_replace 函數總共有四個參數,其中前面三個參數是必要項目,第四個參數則是要替換的字串長度,選用項目,我們將這四個參數的用法說明整理如下:
  • $string:原始的字串或陣列(PHP 4.3.3 及以上的版本才能處理陣列)
  • $replacement:要替換上去的新字串
  • $start:要替換的原始字串起始位置
  • $length:要替換的字串長度,選用項目。
外部參考:PHP substr_replace 函式 - Wibibi - PHP: substr_replace - Manual

PHP substr_replace 函數應用範例一、替換字串的部份內容
原始碼:在新視窗開起範例程式碼文字版
範例的運作效果
This is test string 2.
範例一展現的是 substr_replace 函數的基本功能,替換掉字串的部份內容,我們將原始字串 $MyString 中最後一個單字 string 更換為 string 2,從參數的設定就能看出結果,參數中的 13 代表從原始字串的頭開始第 13 的字元開始替換,總共替換 6 個字元,數字的起算是 0,這樣剛好把 string 替換掉,接著我們來看看要如何替換陣列的內容。

PHP substr_replace 函數應用範例二、替換陣列內容
原始碼:在新視窗開起範例程式碼文字版
範例的運作效果
Array ( [0] => A0x [1] => B0x [2] => C0x [3] => D0x )
範例二有一個原始陣列 $MyArray,其中總共有 4 個陣列元素,接著我們透過 substr_replace 函數將陣列元素中的數字 1 替換成英文字母 x,替換方式也很簡單,就像範例中的那樣設定參數即可,比較需要解釋的大概就是數字 2,這裡用數字 2 代表要取代的是陣列元素中的第 2 個字元,提醒各位,陣列元素的第一個字元是從 0 開始算,所以數字 2 所代表的就是每個陣列元素中的那個數字 1,替換掉的結果就像範例的結果那樣。

延伸閱讀
分享於 2015-12-06