如何对多个连续空格使用preg_replace

时间:2018-12-26 23:59:03

标签: php preg-replace

我需要测试一个字符串是否包含多个连续的空格,并将它们替换为<br>

我正在尝试让用户使用两个空格来神奇地将<br>放在字符串中,然后使用<br>而不是两个空格将其添加到表中。

我尝试了多种preg_replace组合,但似乎不太正确。

    $value = preg_replace('/\s+\s+/','<br>',$value);
    $value = preg_replace('/\s+\','<br>',$value);
    $value = preg_replace('/\s++/','<br>',$value);

很明显,我对preg_replace不太满意,有人可以提供解决方案吗?

2 个答案:

答案 0 :(得分:0)

对于一个简单的例子,我发现了@ miken32答案。

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

完美的作品。

答案 1 :(得分:0)

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

echo str_replace("  ", " ", $value);

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

$value = "Two  spaces and one space and three   spaces and ten          spaces";
echo preg_replace('/\h{2}/', '<br>', $value);

Php demo