首頁 >後端開發 >php教程 >php替換字串中的一些字元(區分大小寫)的函數str_replace()

php替換字串中的一些字元(區分大小寫)的函數str_replace()

黄舟
黄舟原創
2017-11-03 11:40:352702瀏覽

實例

字串 "Hello world!" 中的字元"world" 替換成"Peter":

<?php
echo str_replace("world","Peter","Hello world!");
?>

定義和用法

str_replace() 函數取代字串中的一些字元(區分大小寫)。

該函數必須遵循下列規則:

如果搜尋的字串是數組,那麼它將傳回一個數組。

如果搜尋的字串是一個數組,那麼它將對數組中的每個元素進行查找和替換。

如果同時需要對某個陣列進行尋找和替換,並且需要執行替換的元素少於查找到的元素的數量,那麼多餘的元素將用空字串進行替換。

如果是對一個陣列進行查找,但只對一個字串進行替換,那麼替代字串將對所有查找到的值起作用。

註解:此函數是區分大小寫的。請使用 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(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), array(&#39;新1&#39;,&#39;新2&#39;,&#39;新3&#39;), $被替换内容的变量名)] 
[@str_replace(array(&#39;旧1&#39;,&#39;旧2&#39;,&#39;旧3&#39;), &#39;新内容&#39;, $被替换内容的变量名)]

实例: 
多对一替换:想把内容字段里所有的e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3标签清除掉,替换成空 

[@str_replace(array(&#39;<p>&#39;,&#39;</p>&#39;), &#39;&#39;, $Content)]

一对一替换:想把内容字段里所有的0c6dc11e160d3b678d68754cc175188a标签换成e388a4556c0f65e1904146cc1a846bee 

[@str_replace(&#39;<br>&#39;, &#39;<p>&#39;, $Content)]

多对多替换:想把内容字段里的0c6dc11e160d3b678d68754cc175188a换成df250b2156c434f3390392d09b1c9563, 同时e388a4556c0f65e1904146cc1a846bee换f32b48428a809b51f04d3228cdf461fa,把94b3e26ee717c64999d7867364b1b4a3全清除 

以上是php替換字串中的一些字元(區分大小寫)的函數str_replace()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn