PDA

Просмотр полной версии : Вроде как бага в PHP


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

mailbrush
23.03.2009, 16:47
$test="превед всем нах 123 hack";
$test = preg_replace("/[^a-zA-Z0-9 -_]/i", "", $test);
echo $test; //вывод 123 hack
Чо не пашет?

Saumi TAKO
23.03.2009, 16:56
$test="превед всем нах 123 hack";
$test = preg_replace("/[^a-zA-Z0-9 -_]/i", "", $test);
echo $test; //вывод 123 hack
Чо не пашет?
попробуй lalala123!@<script>

а вообще я уже знаю, получил ответ

потому что группа должна заканчиваться каким то символом, а после "-" его нету
это так называемы частный случай, повезло
Правильнее любые спецсимволы которые надо интерпертировать как обчные символы надо слешировать , дабы не вводить неоднозначность.
Так что это просто ошибка кодера, в joomla нашел подобную регулярку