|
|
|
| Ух.. разговорились тут вы))
+++
Чтоб не создавать лишних тем, я сдесь вопрсец напишу)
Подскажите, что не так в этой регулярке? Она должна осуществлять запрет ввода символов < > ' и пропускать все остальные.
Вот собственно и она preg_match("~^[^\<\>']{5,50}$~", $_POST['mess']) | |
|
|
|
|
|
|
|
для: (Sandr)
(16.03.2011 в 23:22)
| | Да вроде все нормально, а что с ней не так? На какую строку она неправильно реагирует?
PS Под новые вопросы лучше заводить новые темы, постраничной навигации нет - не очень удобно, когда темы длинные. | |
|
|
|
|
|
|
|
для: cheops
(16.03.2011 в 23:30)
| | "PS Под новые вопросы лучше заводить новые темы, постраничной навигации нет - не очень удобно, когда темы длинные." извиняюсь, не знал)
"Да вроде все нормально, а что с ней не так?" пропускает она символы < > ' а должна пропускать всё кроме них. | |
|
|
|
|
|
|
|
для: (Sandr)
(16.03.2011 в 23:37)
| | Хм... а такой скрипт у вас что выводит?
<?php
$text = "Этот текст <не пройдет>";
$pattern = "~^[^\<\>']{5,50}$~";
if(!preg_match($pattern, $text)) exit("Недопустимые символы");
else echo "Все нормально";
?>
| PS Может где-нибудь ошибка в логике if? | |
|
|
|
|
|
|
|
для: cheops
(16.03.2011 в 23:41)
| | "Хм... а такой скрипт у вас что выводит?" этот выводит "Недопустимые символы" . Странно..
"PS Может где-нибудь ошибка в логике if?"
Возможно.. Вот полная проверка:
if(!preg_match("~^[^\<\>\']{5,".$max."}$~", $mess))
{
echo 'Введённое сообщение меньше 5 или больше '.$max.' символов, либо содержит запрещённые символы!<br>';
unset($_SESSION['rand']);
exit;
} | |
|
|
|
|
|
|
|
для: (Sandr)
(16.03.2011 в 23:50)
| | $max, конечно, больше 5 (выведите его на всякий случай - может где-нибудь обнуляется)? | |
|
|
|
|
|
|
|
для: cheops
(16.03.2011 в 23:59)
| | Вывел, $max = 250 . Блин, вечная путаница у меня с этими регулярками(( | |
|
|
|
|
|
|
|
для: (Sandr)
(17.03.2011 в 00:05)
| | Вот блин... у меня до регулярки стоял htmlspecialchars() и всё в сущности преобразовывал. Столько времени потерял((
cheops спасибо) | |
|
|
|