PHP str_replace()
函数是一个区分大小写的字符串替换函数,它用其他字符替换原字符串中的某些字符。
它会替换字符串中所有出现的搜索字符串。
语法
str_replace()
函数的语法如下,有以下四个参数。
str_replace ($search, $replace, $string, $count)
这个函数在工作时遵循一些规则,如下:
- 如果要查找的字符串是数组,则返回数组。
- 如果要查找的字符串是数组然后对数组的每个元素执行搜索和替换。
- 如果$search 和 $replace 都是数组,并且 $replace 的元素少于 $search 数组,则将使用空字符串作为替换。
- 如果$search 是一个数组,而 $replace 是一个字符串,那么每个搜索值都会使用替换字符串。
参数
str_replace() 函数有四个参数,其中三个是必须的,剩下的一个是可选参数。以下所有这些参数描述如下:
参数 | 说明 | 必须/可选 |
---|---|---|
search | 可以是数组或字符串. $search参数为需要替换的值。 | 必须 |
replace | 可以是数组或字符串,$replace参数为搜索替换值。 | 必须 |
string | 源字符串 | 必须 |
count | 它是一个整数变量,用于计算字符串中完成的替换次数。简单地说,此变量存储对字符串 $string 执行的替换次数。 | 可选 |
返回值
返回替换后的新的字符串。
重要技术细节
返回值 | 返回字符串或数组 |
支持的 PHP 版本 | PHP 4 及以上版本支持此功能。 |
更新日志 | PHP 5.0 中包含 $count 参数 此函数在同时使用 $search 和 $replace 参数时遇到了很多问题作为 PHP 4.3.3 之前的数组。因此,在不推进 $replace 数组上的内部指针的情况下,将跳过空的 $search 索引。较新的版本已经解决了这个问题。 PHP 4.0.5 之后,现在大部分参数都可以是数组了。 |
示例
介绍一些例子,了解PHP str_replace()
函数的使用方法。
示例1
带有字符串变量的基本示例
<?php
$string = "Hii everyone!";
$search = 'Hii';
$replace = 'Hello';
echo '<b>'."String before replacement:".'</br></b>';
echo $string.'</br>';
$newstr = str_replace($search, $replace, $string, $count);
echo '<b>'."New replaced string is:".'</br></b>';
echo $newstr.'</br>';
echo 'Number of replacement ='.$count;
?>
输出:
在上面的例子中,我们可以看到"Hii"被替换为"Hello",替换的次数只有1。
注意: 我们可以通过 $search 和$replace 直接在 str_replace() 函数中替换值。
示例2
用数组变量替换的例子。
要替换$string中的多个值,我们必须采用一个数组来存储这些值以进行替换。
<?php
$string = "Hii everyone! welcome to yxjc123 website. We will get best technical content here.";
$search = array("Hii", "We");
$replace = array("Hello", "You");
echo '<b>'."String before replacement:".'</br></b>';
echo $string.'</br>';
$newstr = str_replace($search, $replace, $string, $count);
echo '<b>'."New replaced string is:".'</br></b>';
echo $newstr.'</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>';
echo $newstr.'</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 world!
Hii world!
Hii world!
在此示例中,"Hello"未被替换为"Hii",因为搜索字符串为"hello"。在第二种情况下,"Hello"已替换为"Hii",因为这里的搜索字符串是与字符串匹配的"Hello"。证明 str_replace() 函数区分大小写。