php用一个空格替换多个空格[重复]

Posted

技术标签:

【中文标题】php用一个空格替换多个空格[重复]【英文标题】:php replace multiple spaces with a single space [duplicate] 【发布时间】:2013-07-03 12:02:58 【问题描述】:

我想用多个空格替换字符串中的一个空格。请告知如何做。示例代码:

  <?php
    $input="bikash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ranjan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nayak";
    echo $output =preg_replace('/(( )+|(\\n)+)/', '$2$3',$input);

    ?>

输出即将到来: "bikash     ranjan          nayak"

【问题讨论】:

你不是说要用单个空格替换多个空格吗? 【参考方案1】:

你可以使用正则表达式

$output = preg_replace('!\s+!', ' ', $input);

【讨论】:

它不起作用 rajeev 你可以检查一下,我也使用 preg_replace() 函数尝试了很多东西 它在 OP 的 $input 内容中不起作用 背后的原因    可以给出例如rajeev 复制重复问题的答案无疑是一种收获代表的有趣方式,不是吗?如果是重复的,请将其标记为一个...【参考方案2】:

试试这个。它将在浏览器上显示为单个空格

$output = str_replace("&nbsp", " ",$input);

【讨论】:

好的,谢谢终于解决了我的替换字符串。在此之前我错过了一些东西,但我用过的同样的东西没有用。再次感谢【参考方案3】:

试试这个

$output = implode("&nbsp;",array_filter(explode("&nbsp;",$input)));

【讨论】:

不工作:我的代码根据 @BikashNayak:试试这个$output = implode("&amp;nbsp;",array_filter(explode("&amp;nbsp;",$input)));【参考方案4】:
$output = preg_replace('!\(&nbsp;)+!', '&nbsp;', $input);

【讨论】:

【参考方案5】:

试试这个

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

【讨论】:

【参考方案6】:

添加了解码 html 实体的额外行 ($input = html_ent.....)。

$input="bikash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ranjan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nayak";

$input = html_entity_decode($input);

echo $output =preg_replace('/(( )+|(\\n)+)/', '$2$3',$input);

【讨论】:

【参考方案7】:

试试这个代码

$input="bikash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ranjan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nayak";
$array = explode('&nbsp;', $input);
$output = implode('&nbsp;', array_filter($array));
echo $output;

一个班轮:

$output = implode('&nbsp;', array_filter(explode('&nbsp;', $input)));

【讨论】:

你是对的,但代码太长“工作良好” 如果你愿意,我可以写成一行。您选择的解决方案不正确。它仍然会放下多个空格,但浏览器只会显示 1 或 2 个。而且这些空格不是“不间断空格”。

以上是关于php用一个空格替换多个空格[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用单个空格替换任意数量的空格[重复]

用 JavaScript 字符串中的单个空格替换多个空格

如何在 PHP 中的变量中用空格替换制表符?

在Python中用单个空格替换多个空格[重复]

用单个空格替换字符串中的多间距 - Python [重复]

在 PHP 中用一个空格替换多个空格和换行符