我有一个字符串如下:
a quick brown fox jumps over a lazy dog
我希望结果是
a
quick brown fox jumps over a lazy dog
只想用换行符替换第一次出现的多个(超过 1 个)空格,但在此之后保留其他多个空格。
我怎么能用 preg_replace 做到这一点?
谢谢
我有一个字符串如下:
a quick brown fox jumps over a lazy dog
我希望结果是
a
quick brown fox jumps over a lazy dog
只想用换行符替换第一次出现的多个(超过 1 个)空格,但在此之后保留其他多个空格。
我怎么能用 preg_replace 做到这一点?
谢谢
echo preg_replace('/\s{2,}/', "\n", $string, 1);
在PHP 文档中,第四个参数 topreg_replace
是一个可选限制,限制应该替换模式的次数。
Use the optional fourth parameter, setting the limit of replacements made for the pattern:
$str = preg_replace( "/\s{2,}/", PHP_EOL, $str, 1 );
Demonstration: http://codepad.org/Kocnyryj
使用preg_replace()
's$limit
仅替换一个匹配项。
$string = preg_replace("/\s\s+/", "\n", $string, 1); // \s\s+ to replace 2 or more
// Where preg_replace($pattern, $replacement, $subject, $limit);
$limit每个主题字符串中每个模式的最大可能替换。默认为 -1(无限制)。