首页 >后端开发 >php教程 >php替换字符串中的一些字符(区分大小写)的函数str_replace()

php替换字符串中的一些字符(区分大小写)的函数str_replace()

黄舟
黄舟原创
2017-11-03 11:40:352712浏览

实例

字符串 "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