在php中替换特定字符后的字符

在php中替换特定字符后的字符,php,str-replace,Php,Str Replace,我有这样一个字符串: Hello-world-Hi-people-Hello-everybody 我想用空格替换“-”,得到这样的结果: Hello-world Hi-people Hello-everybody 我试过: str_replace('-', ' ', $mystring); 但这不是我要找的也许不要尝试选择“-”,而是关注要隔离的字符串?例如,后面跟一个词的是“你好”还是“你好”?那么这可能会起作用: <?php $input = "Hello-world-Hi-p

我有这样一个字符串:

Hello-world-Hi-people-Hello-everybody
我想用空格替换“-”,得到这样的结果:

Hello-world Hi-people Hello-everybody
我试过:

 str_replace('-', ' ', $mystring);

但这不是我要找的

也许不要尝试选择“-”,而是关注要隔离的字符串?例如,后面跟一个词的是“你好”还是“你好”?那么这可能会起作用:

<?php
$input = "Hello-world-Hi-people-Hello-everybody";
preg_match_all("/(Hello|Hi)-\w*/", $input, $output);
echo implode(" ", $output[0]);

学一点同样,我怀疑实际的问题是如何在大写字母之前替换
-
。。。!?不,事实上字符串字母是大写的:HELLO WORLD嗨PEOPLE HELLO EVERYBODYOh,好吧,所以你既没有用英语准确地表达你想要的,也没有给出数据的实际准确样本。。。当然,我们会拿到水晶球的。。。