2011-05-17 64 views
5

我正在製作SWF上傳程序並完成了我的HTML表單。如何更換上傳文件的文件名中的空格

它工作得很好,直到我上傳名稱中包含空格的SWF文件。

如何將下劃線替換爲空格?

我已經試過......

str_replace(" ","_", $file); 

......還有......

preg_replace(" ","_", $file); 
+2

您不需要在問題的標題中加入'[PHP]'。 – drudge 2011-05-17 23:10:25

回答

7

功能是正確的,但你必須把它分配給一個變量。

$filename = str_replace/preg_replace(" ","_", $file); 
+0

'preg_replace()'不會像*那樣工作。 – alex 2011-05-17 23:18:17

+0

我知道。但我只是複製你發佈的內容。我以爲你會知道如何處理它:) – user489872 2011-05-17 23:19:13

+0

我會,但不知道關於OP:D – alex 2011-05-17 23:19:44

14

我如何可以替換下劃線的空白?

\s字符類將匹配空白字符。我添加了+量詞將多個空格合併爲一個_。如果你不想要,請刪除+

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

我通常從另一邊接近它,只允許來自白名單的字符;我替換除這些字符以外的所有內容:

$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file); 
+1

你可以減少到'/ [^ - \ w] + /'。 [鍵盤](http://codepad.org/R5IJ0GVC)。 – alex 2011-05-17 23:23:23

+0

@alex true,但我認爲這說明我的意思更好。 – jeroen 2011-05-17 23:25:03

+0

你說得對,如果OP的正則表達式經驗有限,那麼明確地看到這些字符可能會幫助他們對它進行修改。 – alex 2011-05-17 23:26:21

相關問題