PHP ereg_replace

时间:2012-05-09 15:14:02

标签: php preg-replace ereg-replace

我有这个文件,我通过php文件上传到服务器..

6;'!8.jpg

我使用此代码删除非字母数字字符..

$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);

工作正常,但它会像我这样返回我的图像

68jpg

将此作为68.jpg

返回的最佳方式是什么?

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

不要使用ereg / eregi。不推荐使用这些函数。请改用PCRE函数。

试试这种方式

$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);

答案 1 :(得分:0)

请尝试使用此代码:

$image1 = ereg_replace("[^A-Za-z0-9\\.]", "", $_FILES["image"]["name"]); 

但是您应该尝试使用preg_而不是ereg_ PHP函数,因为它们更高效(并且不会弃用)。

答案 2 :(得分:-1)

您可以使用PHP的pathinfo($ _ IMAGE [“image”] [“name”])命令来拆分文件名的基本路径,基本名称和文件扩展名。然后,您可以在basename上运行搜索n'replace(如@John Conde推荐),然后将基本名称和文件扩展名重新连接在一起。