2

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

$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";

我想我需要一个条件来替换“不在逗号之后”或“在两个单词之间”的空格。但我不知道。有什么建议吗?

4

1 回答 1

4

(?<!,)\s

这使用否定的lookbehind来匹配所有\s不跟a的空格(),

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

在这里玩正则表达式

于 2012-06-08T00:03:52.650 回答