如何用PHP删除空格

时间:2011-08-29 10:44:28

标签: php

以下是从数据库中获取并显示在页面上的文本示例:

Lorem ipsum dolor sit amet,
consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris etc....

如何使下面的文字看起来像

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

我正在尝试删除所有不必要的空格和新行。我已经使用trim()结束str_replace进行了测试,但是我没有得到我想要的结果。

7 个答案:

答案 0 :(得分:4)

这个问题可以帮忙吗? Remove multiple whitespaces

来自codaddict撰写的最高评价答案:

$ro = preg_replace('/\s+/', ' ',$row['message']);
  

您正在使用\ s \ s +,这意味着空格(空格,制表符或换行符)后跟一个或多个空格。这实际上意味着用一个空格替换两个或更多个空格。你想要的是用一个空格替换一个或多个空格,所以你可以使用模式\ s \ s *或\ s +(推荐)

答案 1 :(得分:3)

这将删除字符串中的所有换行符:

$str = preg_replace('/\s+/', ' ', $str);

答案 2 :(得分:1)

尝试:

$str = preg_replace('/\s+/', ' ', $str);

答案 3 :(得分:1)

http://php.net/manual/en/function.preg-replace.php

<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// This will be 'foo o' now
echo $str;
?>

或者你可以通过CRLF爆炸来破坏字符串,然后修剪。

答案 4 :(得分:1)

尝试这样的事情:

$string = 'Lorem ipsum... etc';
$string = preg_replace('/\s+/',' ',$string);

答案 5 :(得分:1)

使用trimpreg_replace

$string = trim( preg_replace( '/[\s\s \s]+/', ' ', $string ) );

答案 6 :(得分:0)

使用$ str = preg_replace(“/ \ s \ s + /”,“”,$ str);用于空间

$ your_string = str_replace(“\ r \ n \ r \ n”,“”,$ your_string);换行。