用下划线替换空格

时间:2011-06-21 19:40:43

标签: php

我有一个PHP脚本,用户将输入如下名称:Alex_Newton

但是,有些用户会使用空格而不是下划线,所以我的问题是:

如何在PHP中使用下划线自动替换空格?

13 个答案:

答案 0 :(得分:333)

$name = str_replace(' ', '_', $name);

答案 1 :(得分:56)

正如其他人已经解释了如何使用str_replace来解决这个问题,您也可以使用正则表达式来实现这一点。

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

答案 2 :(得分:26)

$name = str_replace(' ', '_', $name);

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

答案 3 :(得分:10)

使用PHP的str_replace功能。

类似的东西:

$str = str_replace(' ', '_', $str);

答案 4 :(得分:10)

致电http://php.net/str_replace$input = str_replace(' ', '_', $input);

答案 5 :(得分:7)

使用str_replace

str_replace(" ","_","Alex Newton");

答案 6 :(得分:6)

你也可以这样做,以防止单词以_words_more_words_等下划线开头或结尾,这样可以避免以空格开头和结尾。

$trimmed = trim($string); // Trims both ends
$convert = str_replace('', '_', $trimmed);

答案 7 :(得分:1)

这是我的代码的一部分,它使空格成为下划线,用于命名我的文件:

$file = basename($_FILES['upload']['name']);
$file = str_replace(' ','_',$file);

答案 8 :(得分:1)

我喜欢这个

$option = trim($option);
$option = str_replace(' ', '_', $option);

答案 9 :(得分:1)

Strtr替换单个字符而不是字符串,因此对于此示例来说这是一个很好的解决方案。据说strtrstr_replace更快(但对于这个用例,它们都快得无法估量)。

echo strtr('Alex Newton',' ','_');
//outputs: Alex_Newton

答案 10 :(得分:0)

您可以使用str_replace说您的名字在变量$name

$result = str_replace(' ', '_', $name);

另一种方法是使用正则表达式,因为这将有助于消除二次空间等。

  $result=  preg_replace('/\s+/', '_', $name);

答案 11 :(得分:0)

str_replace-很明显的解决方案。但是有时您需要知道确切的空间。我在csv文件中的空格有问题。

有两个字符,但其中一个是0160(0x0A0),另一个是不可见的(0x0C2)

我的最终解决方案:

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

我从mc(午夜查看器-F3-F9)的HEX查看器中找到了不可见的符号

答案 12 :(得分:0)

如果您有参数$string,并希望将其替换为下划线(_)。

$string = "Hello All.";
$newString = str_replace(' ', '_', $string);

输出将为Hello_All.

相关问题