if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && mb_strtolower($_SERVER['HTTP_X_REQUESTED_WITH'],'UTF-8')=='xmlhttprequest')
{
if (isset($_POST['j'],$_POST['q']))
{
function ex(){exit;}
set_error_handler('ex');
$m=explode(',',$_POST['j']);
$i=1;
foreach ($m as $val)
{
if (preg_match('#^'.$_POST['q'].'#iu',$val) && $i<8)
{
echo '<li onClick="fill(\''.$val.'\');">'.$val.'</li>';
$i++;
}
}
}else exit;
}else exit;
Это обработчик js.
$_POST['j'] - строка, потом массив по котому идет поиск.
$_POST['q'] - введенная юзером инфа.
Если он введет, например, #, то вылезет ошибка, которая не успее выйти на экран т.к. будет перехвачена set_error_handler('ex'); и потом отправлена в
function ex(){exit;}
Можно ли сделать $_POST['q'] таким, чтоб завершить preg_match и ввести свою команду???
Пробую не могу так сделать.
Спустя 6 часов, 14 минут, 22 секунды (20.06.2012 - 12:26) GET написал(а):
Парни может есть все таки версии какие-нибудь?

Спустя 7 минут, 22 секунды (20.06.2012 - 12:34) killer8080 написал(а):
A.B.C.
если патерн формируется динамически, из входных данных, то его положено вначале обработать
если патерн формируется динамически, из входных данных, то его положено вначале обработать
preg_match('#^'.preg_quote($_POST['q'], '#').'#iu',$val)
Спустя 3 минуты, 22 секунды (20.06.2012 - 12:37) Игорь_Vasinsky написал(а):
Цитата |
Это обработчик js. |
в каком смысле?
Цитата |
$i++; |
это для чё? чтоб скрипт не уснул?
Цитата |
Если он введет, например, #, |
чёт мне кажется - что он получит еррор о неизвестном модификаторе в php, т.к. ограничители в регулярке у тя аналогичные...
и если чесн - то я вообще не вкурил смысл скрипта... как бы вижу все, читаю, а вообщем - не понял.
UPD:
а вот и киллер экранировал

Цитата |
preg_quote($_POST['q'] |
Спустя 25 минут, 50 секунд (20.06.2012 - 13:03) GET написал(а):
Игорь_Vasinsky
Цитата |
а вот и киллер экранировал |
он все правильно экранировал...

killer8080
Еще раз спасибо!
preg_quote действительно решает проблему!
Спустя 1 минута, 16 секунд (20.06.2012 - 13:04) Игорь_Vasinsky написал(а):
Цитата |
он все правильно экранировал |
я и не сомневался

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.