Php 如何对多个连续空间使用preg_replace

Php 如何对多个连续空间使用preg_replace,php,preg-replace,Php,Preg Replace,我需要测试字符串中的多个连续空格,并用替换它们 我试图让用户通过使用两个空格,神奇地将放入字符串中,然后用而不是两个空格添加到表中 我尝试了很多preg_替换组合,但似乎没有完全正确 $value = preg_replace('/\s+\s+/','<br>',$value); $value = preg_replace('/\s+\','<br>',$value); $value = preg_replace('/\s++/','<br&

我需要测试字符串中的多个连续空格,并用

替换它们

我试图让用户通过使用两个空格,神奇地将

放入字符串中,然后用

而不是两个空格添加到表中

我尝试了很多preg_替换组合,但似乎没有完全正确

    $value = preg_replace('/\s+\s+/','<br>',$value);
    $value = preg_replace('/\s+\','<br>',$value);
    $value = preg_replace('/\s++/','<br>',$value);
$value=preg_replace(“/\s+\s+/”、“
”、$value); $value=preg\u replace(“/\s+\”、“
”、$value); $value=preg_replace(“/\s++/”、“
”、$value);

显然,我对preg_replace不太在行,有人能提供一个解决方案吗?

对于我所举的@miken32的简单例子,答案是正确的

$value = preg_replace('/  /','<br>',$value);
$value=preg_replace(“//”、“
”、$value);

非常适用。

如果要替换2个空格,还可以使用:

如果要使用正则表达式,可以使用
\h{2}
匹配2个水平空白字符

$value = "Two  spaces and one space and three   spaces and ten          spaces";
echo preg_replace('/\h{2}/', '<br>', $value);
$value=“两个空格和一个空格,三个空格和十个空格”;
echo preg_replace(“/\h{2}/”,“
”,$value);

仅使用
preg_replace(“//”、“
”、$value)有什么问题请不要使用正则表达式解析HTML。使用HTML解析器。虽然这是一种奇怪的编写
/\s{2,}/
的方式。其他的是无效的/没有意义的@miken32唯一的问题是我没有想到它。我尝试了你非常简单明了的想法/问题,在我担心的所有情况下都能完美地工作。非常感谢。
$value = "Two  spaces and one space and three   spaces and ten          spaces";
echo preg_replace('/\h{2}/', '<br>', $value);