Я не эксперт в регулярных выражениях :( Я пытаюсь удалить все символы из строки, кроме буквенно-цифровых, подчеркивания и тире. Это правильный синтаксис?:
preg_replace("/[^a-z0-9_-]+/i", "", $string);