用下划线replace空格

我有一个PHP脚本,用户将input一个名字: Alex_Newton

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

如何在PHP中使用Underscores自动replace空格?

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

正如其他人已经解释了如何使用str_replace来做到这一点,你也可以使用正则expression式来实现这一点。

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

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

使用PHP的str_replace函数。

就像是:

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

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

使用str_replace :

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

你也可以这样做,以防止单词开头或结尾像_words_more_words_下划线,这将避免开始和结束的空白。

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

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

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

我用这个

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

Strtrreplace单个字符而不是string,所以这是一个很好的解决scheme。 据说strtrstr_replace快(但是对于这个用例,它们都快str_replace快)。

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