このような文字列がありますtext more text "empty space"
。"empty space"
このスペースのみを ###に置き換えるにはどうすればよいですか?
質問する
242 次
5 に答える
3
$string = 'text more text "empty space"';
$search = 'empty space';
str_replace($search, 'empty###space', $string);
于 2012-01-03T22:10:10.260 に答える
1
正規表現なしで、これはどうですか:
$text = 'foo bar "baz quux"';
$parts = explode('"', $text);
$inQuote = false;
foreach ($parts as &$part) {
if ($inQuote) { $part = str_replace(' ', '###', $part); }
$inQuote = !$inQuote;
}
$parsed = implode('"', $parts);
echo $parsed;
于 2012-01-03T22:30:14.887 に答える
1
$somevar = "empty space";
$pattern = "/\s/";
$replacement = "###";
$somevar2 = preg_replace($pattern, $replacement, $somevar);
echo $somevar2;
于 2012-01-03T22:08:48.373 に答える
1
$string = "My String is great";
$replace = " ";
$replace_with = "###";
$new_string = str_replace($replace, $replace_with, $string);
これでうまくいくはずです。http://www.php.net/manual/en/function.str-replace.php
于 2012-01-03T22:09:20.893 に答える
1
コメント後に編集
最善の解決策ではないかもしれませんが、次のようにすることができます。
$string = 'text more text "empty space"';
preg_match('/(.*)(".*?")$/', $string, $matches);
$finaltext = $matches[1] . str_replace(' ', '###', $matches[2]);
于 2012-01-03T22:10:19.470 に答える