如何替换上传文件的文件名中的空格

时间:2011-05-17 23:05:22

标签: php regex preg-replace str-replace

我正在制作一个SWF上传器并完成我的HTML表单。

在我上传名称中包含空格的SWF文件之前,它完全正常。

如何用下划线替换空格?

我试过......

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

...和...

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

3 个答案:

答案 0 :(得分:14)

  

如何用下划线替换空格?

\s字符类将匹配空格字符。我添加了+量词,将多个空格折叠为一个_。如果您不想这样,请删除+

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

答案 1 :(得分:7)

该函数是正确的,但您必须将其分配给变量。

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

答案 2 :(得分:4)

我通常从另一边接近它,只允许来自白名单的人物;我替换除了这些字符之外的所有内容:

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