Я делаю загрузчик SWF и готовую форму HTML.
Она работает прекрасно, пока я не загружу SWF-файл с пробелами в имени.
Как заменить пробелс подчеркиванием?
Я пытался ...
str_replace(" ","_", $file);
... и ...
preg_replace(" ","_", $file);
Как заменить пробел символом подчеркивания?
Класс символов \s будет соответствовать символам пробела.Я добавил квантификатор +, чтобы свернуть несколько пробелов в один _.Если вы этого не хотите, удалите +.
\s
+
_
$file = preg_replace('/\s+/', '_', $file);
функция верна, но вы должны присвоить ее переменной.
$filename = str_replace/preg_replace(" ","_", $file);
Я обычно подхожу к нему с другой стороны и разрешаю только символы из белого списка; Я заменяю все, кроме этих символов:
$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file);