Regex вырезать все, кроме слов и цифр (и латинских символов)

Я пытаюсь очистить строку сообщения, используемую в запросе ajax (дезинфицировать перед запросом db), чтобы допускать только буквенно-цифровые символы, пробелы (1 на слово, а не несколько), может содержать «-» и латинские символы, такие как «ç» и «é «Без успеха, может ли кто-нибудь помочь или указать мне в правильном направлении?

Это регулярное выражение, которое я использую до сих пор:

$string = preg_replace('/^[a-z0-9 àáâãäåçèéêëìíîïðñòóôõöøùúû-]+$/', '', mb_strtolower(utf8_encode($_POST['q']))); 

Спасибо.

Solutions Collecting From Web of "Regex вырезать все, кроме слов и цифр (и латинских символов)"