方法:将str_replace()的第一个参数设置为数组,语法“str_replace(数组,'替换值',$str)”,可将多个字符都替换为同一个指定字符;如果想替换为不同的指定字符,只需将第二个参数也设置为数组,且两数组的元素个数要一致。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php str_replace同时替换多个字符

str_replace() 使用新的字符串替换原来字符串中指定的特定字符串。

str_replace(find,replace,string,count)
参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数。

一般情况下,str_replace()函数只搜索一种值,并将其替换为指定值。

<?php
$str = "abchelloabc";
$newStr=str_replace('a','-',$str);
echo $newStr."<br>";
?>

1.png

但当该函数的第一个参数find设置为数组类型,就可搜索多种值:

<?php
$str = "abchelloabc";
$newStr=str_replace(['a','b','c'],'-',$str);//a或b或c都替换成-
echo $newStr."<br>";
?>

2.png

这是将多个字符都替换为同一个指定字符,如果将该函数的第二个参数replace也设置为数组类型,那么可以替换为不同的指定字符

<?php
$str = "abchelloabc";
$newStr=str_replace(['a','b','c'],['-','!','~'],$str);//a->- b->! c->~
echo $newStr."<br>";
?>

3.png

注意:此时,两个数组的元素个数要一致。


php str_replace怎么同时替换多个字符