Я пытаюсь заменить все пробелы символами подчеркивания, и следующее не работает:
$id = "aa aa"; echo $id; preg_replace('/\s+/', '_', $id); echo $id;
печать
aa aaaa aa
Функция preg_replace
не изменяет строку на месте. Он возвращает новую строку с результатом замены. Вы должны назначить результат обращения к переменной $id
:
$id = preg_replace('/\s+/', '_', $id);
Я думаю, что str_replace()
может быть более уместным здесь:
$id = "aa aa"; $id = str_replace(' ', '_', $id); echo $id;
Вы забыли присвоить результат preg_replace
в ваш $id
$id = preg_replace('/\s+/', '_', $id);