Регулярное выражение. Заметь в строке все не разрешенные символы пробелами

Задача

Необходимо заменить все не допустимые символы на пробелы. Допустимыми считаются буквы кирилицы, латиница, цифры и некоторые спецсимволы.

Решение


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;
}

  1. Регулярные выражения
  2. PHP
  3. примеры