Регулярные выражения: проблема с кодировкой?

Altex

Новичок
1) "@" и ":" слэшить НЕ надо
2) в классе это записывается без разделителей, как ты уже заметил [^\w@:]
3)последовательность символов записывать в класс бесполезно - я про <img ...>
 

Altex

Новичок
if (preg_match("/[^(\w)|(\@)|(\+)|(\-)|(\.)|(\,)|(\&)|(\№)|(\/)|(\")|(\ )|(\<img src="images/smilies/smile.gif" border="0" alt="">]/", join($_POST)))
{
******//Выдаю алерт с сообщением о наличии недопустимых символов и отправляю на предыдущую страницу
exit;
}
А это вообще бред полный, он даже не отпарсится у тебя. Как "оно" могло у тебя нормально(!) работать мне вообще не понятно.
 

Ashotovich

Новичок
Originally posted by Altex
А это вообще бред полный, он даже не отпарсится у тебя. Как "оно" могло у тебя нормально(!) работать мне вообще не понятно.
Хахаха :D Это безобразие с <img... smile.gif... ничего не напоминает? ;) Это скрипт форума так обработал символосочетание "двоеточие-скобка". :D Думал, что и так всем понятно...
 

Demiurg

Guest
слешить в классах не надо, а если тебе нужно тире, то ставь его либо в начале либо в конце.
 

Ashotovich

Новичок
Мде. Есди я не заслешу кавычки или прямой слеш, то скрипт ругается. На строчку if (preg_match("/[^\w@+-.,&©ц \/":]/", join($_POST))) он выдает: Parse error: parse error, unexpected ':' in ******** . Так что кавычки и слеш все же пришлось заслешить.


Примечание. После сабмита этого сообщения форум выдавал его все время в какой-то кривой кодировке (а все остальные сообщения - в нормальной, видимо кодировка дохла при передаче через POST). Пришлось редактировать построчно.
 

Ashotovich

Новичок
Где читать-то? Да, между прочим, ежели строку с классом заключить не в двойные, а в одинарные кавычки, можно и не слешить двойные кавычки в классе. ;)
 
Сверху