'Regex to match all characters except letters and numbers

I want to clean the filenames of all uploaded files. I want to remove all characters except periods, letters and numbers. I'm not good with regex so I thought I would ask here.

Can someone show me how to put this together? I'm using PHP.



Solution 1:[1]

s/[^.a-zA-Z\d]//g

(This is a Perl expression of how to use the RegExp. In PHP you do:

$output = preg_replace('/[^.a-zA-Z\d]/', '', $input);

Solution 2:[2]

Try to use this:

$cleanString = preg_replace('#\W#', '', $string);

It will remove all but letters and numbers.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Marcio Mazzucato