Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание булевской логики поиска

20K
12 июня 2007 года
STALK3R
5 / / 04.11.2006
Решил сделать поиск с возможностью задания в нём булевской логики (and, or, not).
Необходимо чтобы юзер сам мог создавать запрос (н-р a & b & ^ c), + можно группировать скобками, а также разрешить % и _.
Есть ли какие-либо примеры его создания, я сам пробовал написать, но застревал на некоторых местах..
Если кратко то вот у меня вышло
PHP код:
 
Код:
// Убираем пробелы со сторон, затем двойные пробелы, проверку на sql-inj я опустил
$string = trim(str_replace(array(' & ', ' | ', ' ^ ', '  '), array(' AND '.$field.' LIKE ', ' OR '.$field.' LIKE ', ' NOT LIKE ', ' '), @$_REQUEST[$field]));
// Здесь убираем ситуацию когда в запросе встречается нечто вроде a & ^ d (а И НЕ d)
$string = str_replace('LIKE NOT LIKE', 'NOT LIKE', $string);

Кроме того следует уделить особое внимание на безопасность, ведь % (hex code) и скобки (ф-я char****** довольно опасны.
Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог