Php 在同一字符串上多次使用str_replace

Php 在同一字符串上多次使用str_replace,php,str-replace,Php,Str Replace,我从一张表中循环浏览一个标题,所以它本质上是沿着这些线的东西 foreach($c as $row){ echo string_shorten($row['title']); } 我正在尝试的是一个switch语句,它将在我希望它搜索的内容和找到后用str_replace中选择的内容替换它: function string_shorten($text){ switch(strpos($text, $pos) !== false){ case "Hi":

我从一张表中循环浏览一个标题,所以它本质上是沿着这些线的东西

foreach($c as $row){
    echo string_shorten($row['title']);
}
我正在尝试的是一个switch语句,它将在我希望它搜索的内容和找到后用str_replace中选择的内容替换它:

function string_shorten($text){
    switch(strpos($text, $pos) !== false){
         case "Hi":
              return str_replace('Hi','Hello', $text);
         break;
    }
}
如有任何建议或可能的替代方案,将不胜感激。感觉上我真的很接近,但不是很接近

正如您在

混合
stru-replace
(混合
$search
,混合
$replace
,混合
$subject
[,int
和$count
])

还有这个例子

这意味着您可以使用如下内容

$search = array('Hi', 'Heyo', 'etc.');
$replace = array('Hello', 'Hello', '');
$str = str_replace($search, $replace, $str);

str_replace()将接受数组作为from和to参数-并非所有字符串都将以相同的方式替换。在一种情况下,一个单词被替换为缩写,另一个单词被完全删除。您还可以将替换设置为数组。您的
开关
具有
大小写
TRUE
/
FALSE
,并且
“Hi”
TRUE
相同@stepquick-因此根据需要构建替换阵列谢谢您的示例。
$search = array('Hi', 'Heyo', 'etc.');
$replace = array('Hello', 'Hello', '');
$str = str_replace($search, $replace, $str);