|
|
|
| Регулярное выражение проверяет данные приходящие из поля формы.
Нужно разрешить русские и латинские буквы, цифры, символы .,-""
Проблема возникает именно с кавычкой
if(!preg_match("/^([0-9a-zа-я_.,-\s])+$/i", 'test 1111 тест.,-')) //так работает
print "error";
else
print "ok";
|
Мне нужно, пропускать еще и кавычку причем желательно в виде \" который она имеет после addslashes
Можно ли как то включить кавычку в [0-9a-zа-я_.,-\s] на \" и просто " ругается, может есть какой то символьный класс для этого | |
|
|
|
|
|
|
|
для: alonecat
(21.08.2007 в 13:29)
| | Обычная кавычка должна быть экранирована
<?php
if(!preg_match("/^([0-9a-zа-я_.,-\s\"])+$/i", 'test 1111 тест.,-"')) //так работает
print "error";
else
print "ok";
?>
|
Если вам требуется ещё и обратный слеш добавить, то регулярное выражение будет выглядеть следующим образом (под Windows)
<?php
if(!preg_match("/^([0-9a-zа-я_.,-\s\"\\\])+$/i", 'test 1111 тест.,-\"')) //так работает
print "error";
else
print "ok";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.08.2007 в 00:48)
| | Спасибо!
Сделал все выражение не в двойных, а в одинарных кавычках, теперь работает так
<?
$str='nmn,,m_hkhjk ggyhjghcd99090 \"ehbfgkrj\"';
if(!preg_match('/^([0-9a-zа-я_.,-\s\!"\\\])+$/i', $str))
{
print $time."недопустимый символ";
}
?>
|
| |
|
|
|