Регулярное выражение. Заметь в строке все не разрешенные символы пробелами
Задача
Необходимо заменить все не допустимые символы на пробелы. Допустимыми считаются буквы кирилицы, латиница, цифры и некоторые спецсимволы.
Решение
function replace_nonsymbolic_char($_s, $_ignore = '')
{
$pattern = '~[^a-zа-яё0-9!\/@#$%^&*()\[\]=\-_\+"\',;.?<>' . $_ignore . ']~ius';
$_s = preg_replace($pattern, ' ', $_s);
$_s = trim(preg_replace('/\s{2,}/is', ' ', $_s), ' ,;.=');
return $_s;
}