Удаление всего, кроме буквенно-цифровых символов из строки в PHP

Я хотел бы regexp или другую строку, которая может заменить все, кроме буквенно-цифровых символов ( az и 0-9 ) из строки. Все вещи, такие как ,@#$(@*810 должны быть лишены. Любые идеи?

Изменить: мне теперь нужно это, чтобы разбить все, но разрешить точки, так что все, кроме az, 1-9, . , Идеи?

Related of "Удаление всего, кроме буквенно-цифровых символов из строки в PHP"

 $string = preg_replace("/[^a-z0-9.]+/i", "", $string); 

Соответствует одному или нескольким символам не az 0-9 [без учета регистра] или «.» и заменяется на ""

Мне нравится использовать [^ [: alnum:]] для этого, меньше места для ошибки.

 preg_replace('/[^[:alnum:]]/', '', "(ABC)-[123]"); // returns 'ABC123' 
 /[^a-z0-9.]/ 

должен сделать трюк

Пытаться:

 $string = preg_replace ('/[^a-z0-9]/i', '', $string); 

/ i означает нечувствительность к регистру (если вам это нужно, конечно).

Это также заменяет ничего, кроме цифры, символа слова или периода с подчеркиванием. Полезно для имен файлов.

 $clean = preg_replace('/[^\d\w.]+/', '_', $string);