Подтвердить что ты не робот

Preg_replace все пробелы

Я пытаюсь заменить все пробелы символами подчеркивания, и следующее не работает:

$id = "aa aa";
echo $id;
preg_replace('/\s+/', '_', $id);
echo $id;

печатает

aa aaaa aa
4b9b3361

Ответ 1

Функция preg_replace не изменяет строку на месте. Он возвращает новую строку с результатом замены. Вы должны назначить результат обращения к переменной $id:

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

Ответ 2

Я думаю, что str_replace() может быть более уместным:

$id = "aa aa";
$id = str_replace(' ', '_', $id);
echo $id;

Ответ 3

Вы забыли присвоить результат preg_replace в свой $id

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

Ответ 4

Нам нужно заменить пространство в строке "aa aa" на "_" (подчеркивание).\S + используется для сопоставления нескольких пробелов. Выход будет "aa_aa"

<?php

$id = "aa aa";
$new_id = preg_replace('/\s+/', '_', $id);
echo $new_id;

?>