PHP条件字符串替换str_replace

时间:2012-06-08 00:01:31

标签: php regex string preg-replace str-replace

这是我试图用" - "替换之间的空格的字符串。

$mystring = "Color red, Color blue, Color black";
$newstring = str_replace(' ', '-', $mystring);

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

"Color-red, Color-blue, Color-black";

但是回归:

"Color-red,-Color-blue,-Color-black";

我想我需要一个替换空格的条件"而不是在逗号后面#34;或者"在两个单词之间"。 但我不知道。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

(?<!,)\s

使用negative lookbehind匹配所有未跟\s的空格(,)。

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

Play with the regex here