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

У меня есть PHP Script, чтобы пользователи вводили имя типа: Alex_Newton,

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

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

Ответ 1

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

Ответ 2

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

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

Ответ 4

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

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

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

Ответ 6

Используйте str_replace:

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

Ответ 7

Вы также можете сделать это, чтобы слова не начинались и не заканчивались символами подчеркивания, такими как _words_more_words_. Это позволит избежать начала и окончания пробелов.

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

Ответ 8

Это часть моего кода, которая делает пробелы в символах подчеркивания для обозначения моих файлов:

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

Ответ 9

Я использовал это как

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

Ответ 10

Strtr заменяет одиночные символы вместо строк, поэтому это хорошее решение для этого примера. Предположительно Strtr быстрее, чем str_replace (но для этого случая использования они оба неизмеримо быстры).

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

Ответ 11

вы можете использовать str_replace сказать, что ваше имя находится в переменной $name

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

Другой способ - использовать регулярные выражения, так как это поможет устранить 2-х временное пространство и т.д.

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