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

「コンマの後ではない」または「2つの単語の間」の空白を置き換える条件が必要だと思います。しかし、私にはわかりません。なにか提案を?

4

1 に答える 1

4

(?<!,)\s

これは、\sの後読みを使用して、後に.が続かないすべてのスペース()に一致します,

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

ここで正規表現を試してください

于 2012-06-08T00:03:52.650 に答える