【问题标题】:Remove the space between two words in PHP [duplicate]删除PHP中两个单词之间的空格[重复]
【发布时间】:2016-04-16 14:32:16
【问题描述】:

我正在用 PHP 开发一个网站。在其中,我将图像保存在服务器上的文件夹中。

我接受用户的名称并希望使用该名称作为图像名称。有时用户输入的名字就像两个词一样。

所以我想删除两个单词之间的空格。 例如,如果用户输入为“Paneer Pakodadish”,我想将其转换为“PaneerPakodaDish”。

我该怎么做?

我用过

1) str_replace(' ', '', $str);

2) preg_replace(' ', '', $str);

3) trim($str, ' ');

但是这些并没有按照我的要求给出输出。

【问题讨论】:

  • 好的,你的第二次尝试有什么问题?
  • 你忘记了php分隔符,试试preg_replace('~ ~','',$str);
  • 3) 在您的示例中不起作用,但 1) 和 2) 应该起作用
  • 请说明你想要什么输出?
  • 第一个正在工作 str_replace 有什么问题,您能详细说明一下吗?

标签: php string


【解决方案1】:
<?php
    $char = "Lorem Ipsum Amet";
    echo str_replace(' ', '', $char);
?>

结果将如下所示:LoremIpsumAmet

【讨论】:

  • 如果单词之间有 2 个空格会怎样?
  • @Mirko : 在 str_replace 中传递双倍空格 ex- str_replace(' ', '', $char);
【解决方案2】:

你可以使用

echo str_replace(' ', '', $str);

trim() 用于去除字符串前后的空格。

【讨论】:

  • 否决选民的原因?
【解决方案3】:
<?php
    $str = "Paneer Pakoda dish";
    echo str_replace(' ', '', $str);
?> 

【讨论】:

【解决方案4】:

下面的代码应该可以工作

<?php
    $test = "My Name is Amit";
    echo preg_replace("/\s+/", "", $test);
?>

【讨论】:

  • 不,需要i修饰符...
  • 是的,@AvinashRaj 不需要 i 修饰符,因为它是空格。
【解决方案5】:

'PaneerPakodaDish' 应该是所需的输出。

$string = 'Paneer Pakoda dish';
$s = ucfirst($string);
$bar = ucwords(strtolower($s));
echo $data = preg_replace('/\s+/', '', $bar);

它将为您提供确切的输出“PaneerPakodaDish”,其中字符“D”也将大写。

【讨论】:

    【解决方案6】:

    请尝试“preg_replace”来删除单词之间的空格。

    $string = "Paneer Pakoda dish";
    $string = preg_replace('/\s+/', '', $string);
    echo $string;
    

    【讨论】: