PHP条件字符串替换str_replace

PHP条件字符串替换str_replace,php,regex,string,preg-replace,str-replace,Php,Regex,String,Preg Replace,Str Replace,这是我试图用“-”替换单词之间空白的字符串 使用str_replace函数,我想要实现的是: "Color-red, Color-blue, Color-black"; 但结果是: "Color-red,-Color-blue,-Color-black"; 我想我需要一个条件来替换空格“不在逗号后面”或“在两个单词之间”。 但我不知道。有什么建议吗 它使用一个来匹配后面没有一个,的所有空格(\s) preg_replace("/(?<!,)\s/", '-', $mystring);

这是我试图用“-”替换单词之间空白的字符串

使用str_replace函数,我想要实现的是:

"Color-red, Color-blue, Color-black";
但结果是:

"Color-red,-Color-blue,-Color-black";
我想我需要一个条件来替换空格“不在逗号后面”或“在两个单词之间”。 但我不知道。有什么建议吗

它使用一个来匹配后面没有一个
的所有空格(
\s

preg_replace("/(?<!,)\s/", '-', $mystring);
preg\u replace(“/(?

它使用一个来匹配后面没有一个
的所有空格(
\s

preg_replace("/(?<!,)\s/", '-', $mystring);
preg_替换(“/(?)?