// нам нужно вырезать все кроме букв, цифр и символов пробела, - и _
$test = ereg_replace("[^a-zA-Z0-9 -_]", "", $test);
// или
$test = preg_replace("/[^a-zA-Z0-9 -_]/i", "", $test);
Мне интересно знать почему не идет замена? Это ошибка PHP или фича такая?
потому что группа должна заканчиваться каким то символом, а после "-" его нету
это так называемы частный случай, повезло
Правильнее любые спецсимволы которые надо интерпертировать как обчные символы надо слешировать , дабы не вводить неоднозначность.
Так что это просто ошибка кодера, в joomla нашел подобную регулярку
Последний раз редактировалось Saumi TAKO; 23.03.2009 в 16:58..