用下划线replace空格
我有一个PHP脚本,用户将input一个名字: Alex_Newton
,
但是,有些用户会使用空格而不是下划线,所以我的问题是:
如何在PHP中使用Underscores自动replace空格?
$name = str_replace(' ', '_', $name);
正如其他人已经解释了如何使用str_replace
来做到这一点,你也可以使用正则expression式来实现这一点。
$name = preg_replace('/\s+/', '_', $name);
$name = str_replace(' ', '_', $name);
使用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);
Strtr
replace单个字符而不是string,所以这是一个很好的解决scheme。 据说strtr
比str_replace
快(但是对于这个用例,它们都快str_replace
快)。
echo strtr('Alex Newton',' ','_'); //outputs: Alex_Newton