Pergunta

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); 
Foi útil?

Solução

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top