PHP String str_replace() 函数
str_replace() 函数是PHP的一个内置函数,它是一个 区分大小写 的函数,用于将字符串中的某些字符替换为其他字符。它用于将所有的搜索字符串的出现替换为替换字符串。
语法
str_replace() 函数的语法如下所示,它具有以下四个参数。
str_replace ( search,replace, string,count)
此函数在工作时遵循一些规则,如下所示:
- 如果要搜索的字符串是一个数组,则返回一个数组。
- 如果要搜索的字符串是一个数组,则对数组的每个元素进行搜索和替换。
- 如果
$search
和$replace
都是数组,并且$replace
的元素少于$search
数组,则使用空字符串作为替换。 - 如果
$search
是一个数组,但$replace
是一个字符串,则替换字符串将用于每个搜索值。
参数
str_replace()函数有四个参数,其中三个是必需的,另一个是可选参数。以下是所有这些参数的详细说明:
$search(必需) – 此参数是一个 必需 参数,可以是字符串或数组类型的值。$search
参数包含要在$string
中进行替换的值。
$replace(必需) – 此参数是一个 必需 参数,将被搜索值替换。简单来说 – 此参数保存将替换$string
中$search
值的值。
$string(必需) – 此参数也是一个 必需 参数,它是一个数组或字符串,其中搜索和替换值被搜索和替换。这是我们要处理的字符串或数组。
$count(必需) – 它是最后一个 可选 参数。它是一个整数变量,用于计算字符串中进行的替换次数。简单地说,此变量存储了字符串$string
上执行的替换总数。
返回值
此函数返回一个基于$string
参数的替换值的数组或字符串。
重要技术细节
返回值 | 它返回一个包含替换后值的字符串或数组。 |
---|---|
支持的PHP版本 | PHP 4及以上版本支持该函数。 |
更新日志 | PHP 5.0中包含了$count 参数。 在PHP 4.3.3之前,当使用$search和$replace 参数作为数组时,该函数遇到了许多问题。因此,空的$search 索引会被跳过,而不会在$replace 数组上推进内部指针。新版本已解决了这个问题。 在PHP 4.0.5之后,大多数参数现在都可以是一个数组。 |
示例
这是str_replace()函数的实际应用。
示例1: 使用字符串变量的基本示例
<?php
string = "Hii everyone!";search = 'Hii';
replace = 'Hello';
echo '<b>'."String before replacement:".'</br></b>';
echostring.'</br>';
newstr = str_replace(search, replace,string, count);
echo '<b>'."New replaced string is:".'</br></b>';
echonewstr.'</br>';
echo 'Number of replacement ='.$count;
?>
输出:
在上面的示例中,我们可以看到”Hii”被替换为”Hello”,替换次数只有1次。
示例2: 使用数组变量替换
要在$string
中替换多个值,我们需要使用一个数组来存储这些替换值。
<?php
string = "Hii everyone! welcome to javaTpoint website. We will get best technical content here.";search = array("Hii", "We");
replace = array("Hello", "You");
echo '<b>'."String before replacement:".'</br></b>';
echostring.'</br>';
newstr = str_replace(search, replace,string, count);
echo '<b>'."New replaced string is:".'</br></b>';
echonewstr.'</br>';
echo 'Number of replacement ='.$count;
?>
输出:
在这个输出中,我们可以看到 “Hii” 被替换成了 “Hello”,”We”被替换成了 “You”,替换的数量为2。
示例3: 元音字母替换为空字符串
<?php
string = "Apple is my favorite fruite.";search = array('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U');
echo '<b>'."String before replacement:".'</br></b>';
echo string.'</br>';newstr = str_replace(search, '',string, count);
echo '<b>'."New replaced string is:".'</br></b>';
echonewstr.'</br>';
echo 'Number of replacement ='.$count;
?>
输出:
在这个示例中,我们将元音字母(包括大写和小写)替换为空字符串。在这个字符串中,进行了10次替换。
示例4: 区分大小写
str_replace 是一个区分大小写的函数,在下面的示例中得到证明。
<?php
string = "Hello world!";
printf(str_replace("hello", "Hii",string)); //Does not replace the string
echo '</br>';
printf(str_replace("Hello", "Hii", $string)); //Hello will replace with Hii
?>
输出:
在这个示例中,”Hello”没有被替换为”Hii”,因为搜索字符串是”hello”。在第二种情况下,”Hello”被替换为”Hii”,因为这里的搜索字符串是”Hello”,与字符串匹配。这证明str_replace()函数是 区分大小写 的。
Hello world!
Hii world!