PHP 字符串函数

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;
?>

输出:

PHP str_replace() 函数

在上面的例子中,我们可以看到"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;
?>

输出:

PHP str_replace() 函数

在这个输出中,我们可以看到"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;
?>

输出:

PHP str_replace() 函数

在这个例子中,我们用空字符串替换元音(大写和小写)。这里,在这个字符串中做了 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!

在此示例中,"Hello"未被替换为"Hii",因为搜索字符串为"hello"。在第二种情况下,"Hello"已替换为"Hii",因为这里的搜索字符串是与字符串匹配的"Hello"。证明 str_replace() 函数区分大小写。