我已经尝试了这两种方法,但它们都不太有效。我需要删除文件名中的任何空格和/或额外的小数(最后一个除外)。
这会删除多余的小数,但仍保留空格:
$filename = preg_replace('/.(?=.*.)/', '', $filename);
有没有可以同时做到这两点的解决方案?
这应该可以做你想要的:
$filename = preg_replace('/[. ](?=.*.)/', '', $filename);
关键是您希望在开头的字符集中同时包含小数和空格。
顺便说一下,这是快速测试正则表达式尝试的好工具:http://www.solmetra.com/scripts/regex/index.php