定義和用法
該函式必須遵循下列規則:
•如果搜尋的字元串是一個數組,那么它將返回一個數組。
•如果搜尋的字元串是一個數組,那么它將對數組中的每個元素進行查找和替換。
•如果同時需要對某個數組進行查找和替換,並且需要執行替換的元素少於查找到的元素的數量,那么多餘的元素將用空字元串進行替換。
•如果是對一個數組進行查找,但只對一個字元串進行替換,那么替代字元串將對所有查找到的值起作用。
注釋:該函式是區分大小寫的。請使用 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 起,大多數參數可以是一個數組。 |
內容說明
本函式將字元串 str 代入 haystack 字元串中,將所有的 needle 置換成 str。[email protected] (11-Apr-1999) 指出在 PHP 3.0.7 版
本函式有些 bug,而 [email protected] (05-Jun-1999) 補充在 PHP 3.0.8 版本函式就回復正常了。
使用範例
下例將 %body% 以 black 取代
<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>
參考
ereg_replace()
提示和注釋
注釋:該函式對大小寫敏感。請使用 str_ireplace() 執行對大小寫不敏感的搜尋。
注釋:該函式是二進制安全的。
例子
例子 1
<?php
echo str_replace("world","John","Hello world!");
?>輸出:
Hello John!例子 2
在本例中,我們將演示帶有數組和 count 變數的 str_replace() 函式:
<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>輸出:
Array
(
[0] => blue
[1] => pink
[2] => green
[3] => yellow
)
Replacements: 1例子 3
<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>輸出:
Array
(
[0] => B
[1] =>
[2] => !
)