I am looking for a way to match all the possible special characters in a string. I have a list of cities in the world and many of the names of those cities contain special characters and accented characters. So I am looking for a regular expression that will return TRUE for any kind of special characters. All the ones I found only match some, but I need one for every possible special character out there, spaces at the begin of the string included. Is this possible?
This is the one I found, but does not match all the different and possible characters I may encounter in the name of a city:
preg_match('/[#$%^&*()+=\-\[\]\';,.\/{}|":<>?~\\\\]/', $string);
\W?