Замена пространств на символы подчеркивания

У меня есть скрипт PHP, который будет вводить имя пользователя: Alex_Newton ,

Однако некоторые пользователи будут использовать пробел, а не подчеркивание, поэтому мой вопрос:

Как я могу автоматически заменить пробелы с помощью подстроки в PHP?

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

Что касается других, которые объяснили, как это сделать, используя str_replace , вы также можете использовать regex для достижения этого.

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

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

Используйте функцию str_replace для PHP.

Что-то вроде:

 $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 заменяет одиночные символы вместо строк, поэтому это хорошее решение для этого примера. Предположительно strtr быстрее str_replace (но для этого str_replace использования они оба неизмеримо быстры).

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