執行個體
把字串 "Hello world!" 中的字元 "world" 替換成 "Peter":
<?phpecho str_replace("world","Peter","Hello world!");?>
定義和用法
str_replace() 函數替換字串中的一些字元(區分大小寫)。
該函數必須遵循下列規則:
如果搜尋的字串是一個數組,那麼它將返回一個數組。
如果搜尋的字串是一個數組,那麼它將對數組中的每個元素進行尋找和替換。
如果同時需要對某個數組進行尋找和替換,並且需要執行替換的元素少於尋找到的元素的數量,那麼多餘的元素將用Null 字元串進行替換。
如果是對一個數組進行尋找,但只對一個字串進行替換,那麼替代字串將對所有尋找到的值起作用。
注釋:該函數是區分大小寫。請使用 str_ireplace() 函數執行不區分大小寫搜尋。
注釋:該函數是二進位安全的。
文法
str_replace(find,replace,string,count)
| 參數 |
描述 |
| find |
必需。規定要尋找的值 |
| replace |
必需。規定替換 find 中的值的值。 |
| string |
必需。規定被搜尋的字串。 |
| count |
可選。一個變數,對替換數進行計數。 |
技術細節
| 傳回值: |
返回帶有替換值的字串或數組。 |
| PHP 版本: |
4+ |
| 更新日誌: |
在 PHP 5.0 中,新增了 count 參數。
在 PHP 4.3.3 之前,該函數的 find 和 replace 參數都為數組時將會遇到麻煩,會引起空的 find 索引在內部指標沒有更換到 replace 數組上時被忽略。新的版本不會有這個問題。
自 PHP 4.0.5 起,大多數參數可以是一個數組。 |
更多執行個體
執行個體 1
使用帶有數組和 count 變數的 str_replace() 函數:
<?php$arr = array("blue","red","green","yellow");print_r(str_replace("red","pink",$arr,$i));echo "Replacements: $i";?>
執行個體 2
使用帶有需要替換的元素少於尋找到的元素的 str_replace() 函數:
<?php$find = array("Hello","world");$replace = array("B");$arr = array("Hello","world","!");print_r(str_replace($find,$replace,$arr));?>
本函數將字串 str 代入 haystack 字串中,將所有的 needle 置換成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函數有些 bug,而 nadeem@bleh.org (05-Jun-1999) 補充在 PHP 3.0.8 版本函數就回複正常了。
使用範例
下例將 %body% 以 black 取代
< php $bodytag = str_replace("%body%", "black", "<body text=%body%>"); echo $bodytag; >
格式:
[@str_replace("要替換的舊內容", "要取代原內容的新字元", $被替換內容的變數名)] [@str_replace(array('舊1','舊2','舊3'), array('新1','新2','新3'), $被替換內容的變數名)] [@str_replace(array('舊1','舊2','舊3'), '新內容', $被替換內容的變數名)]
執行個體:
多對一替換:想把內容欄位裡所有的<p></p>標籤清除掉,替換成空
[@str_replace(array('<p>','</p>'), '', $Content)]
一對一替換:想把內容欄位裡所有的<br>標籤換成<p>
[@str_replace('<br>', '<p>', $Content)]
多對多替換:想把內容欄位裡的<br>換成<br />, 同時<p>換<hr>,把</p>全清除