php用一个空格替换多个空格[重复]
Posted
技术标签:
【中文标题】php用一个空格替换多个空格[重复]【英文标题】:php replace multiple spaces with a single space [duplicate] 【发布时间】:2013-07-03 12:02:58 【问题描述】:我想用多个空格替换字符串中的一个空格。请告知如何做。示例代码:
<?php
$input="bikash ranjan 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(" ", " ",$input);
【讨论】:
好的,谢谢终于解决了我的替换字符串。在此之前我错过了一些东西,但我用过的同样的东西没有用。再次感谢【参考方案3】:试试这个
$output = implode(" ",array_filter(explode(" ",$input)));
【讨论】:
不工作:我的代码根据 @BikashNayak:试试这个$output = implode("&nbsp;",array_filter(explode("&nbsp;",$input)));
【参考方案4】:
$output = preg_replace('!\( )+!', ' ', $input);
【讨论】:
【参考方案5】:试试这个
$output = preg_replace('/\s+/', ' ',$input);
【讨论】:
【参考方案6】:添加了解码 html 实体的额外行 ($input = html_ent.....)。
$input="bikash ranjan nayak";
$input = html_entity_decode($input);
echo $output =preg_replace('/(( )+|(\\n)+)/', '$2$3',$input);
【讨论】:
【参考方案7】:试试这个代码
$input="bikash ranjan nayak";
$array = explode(' ', $input);
$output = implode(' ', array_filter($array));
echo $output;
一个班轮:
$output = implode(' ', array_filter(explode(' ', $input)));
【讨论】:
你是对的,但代码太长“工作良好” 如果你愿意,我可以写成一行。您选择的解决方案不正确。它仍然会放下多个空格,但浏览器只会显示 1 或 2 个。而且这些空格不是“不间断空格”。以上是关于php用一个空格替换多个空格[重复]的主要内容,如果未能解决你的问题,请参考以下文章