Question

I would like to change all special characters in my string but I want to keep all accented ones. Is it possible with a preg_replace() ?

My current code:

preg_replace('/[^A-Za-z0-9\-]/', '', $string); 
Était-ce utile?

La solution

Try Unicode:

preg_replace('/[^\p{L}0-9\-]/u', '', $string);

\p{L} is a Unicode property that matches all letters in any language, Unicode properties on php.net

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top