Home >Backend Development >PHP Tutorial >PHP function str_replace() that replaces some characters in a string (case-sensitive)

PHP function str_replace() that replaces some characters in a string (case-sensitive)

黄舟
黄舟Original
2017-11-03 11:40:352742browse

Example

Replace the character "world" in String "Hello world!" with "Peter":

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

Definition and usage

str_replace() function replaces some characters in a string (case sensitive).

This function must follow the following rules:

If the searched string is an array, then it will return an array.

If the searched string is an array, then it will find and replace each element in the array.

If an array needs to be searched and replaced at the same time, and the elements to be replaced are less than the number of found elements, the excess elements will be replaced with empty strings.

If you search an array and replace only one string, the replacement string will work on all found values.

Note: This function is case-sensitive. Please use the str_ireplace() function to perform a case-insensitive search.

Note: This function is binary safe.

Syntax

str_replace(find,replace,string,count)
Parameters Description
find Required. Specifies the value to find
replace Required. Specifies the value to replace the value in find .
string Required. Specifies the string to be searched for.
count Optional. A variable counting the number of substitutions.

Technical details

In PHP 5.0, the count parameter was added.

更多实例

实例 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全清除 

Return value: Returns a string with the replacement value or array.
PHP Version: 4+
##Update Log :
Before PHP 4.3.3, trouble would be encountered when the find and replace parameters of this function were both arrays, which would cause the empty find index to be ignored when the internal pointer was not replaced on the replace array. The new version won't have this problem.

Since PHP 4.0.5, most parameters can be an array.

The above is the detailed content of PHP function str_replace() that replaces some characters in a string (case-sensitive). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn