Php скрипт поиска. Организация поиска по веб-странице на JavaScript (без jQuery)

PHPru_Search v2.6

Описание:
Фактически - это миниYandex на Вашем сайте.
Не верите?! Тогда введите запрос в поле поиск вверху страницы и посмотрите результаты...
Скрипт поиска по сайту без использования MySQL. Подходит для большинства малых и средних сайтов. Использует индексацию, благодаря чему время поиска значительно сокращается...

Для чего нужен?

Просматривая логи, я обнаружил, что некоторые из посетителей превратно толкуют слова миниYandex. Скрипт ищет НЕ ПО ВСЕМУ ИНТЕРНЕТУ, а ищет информацию ТОЛЬКО НА ВАШЕМ САЙТЕ. Говоря миниYandex, я имею ввиду, что скрипт показывает довольно неплохие (имеется ввиду качественные) результаты поиска.

Что нового:

Скрипт устанавливается в виде отделного модуля в отдельную папку.
Теперь результаты выводятся не в нижнем регистре, а в том виде, в каком текст представлен на Ваших страницах.
По-умолчанию заблокированы для поиска большинство ненужных файлов (бинарные файлы, служебные и т.д.)
Более корректно вырезается из текста javascript-код
Оптимизированы некоторые алгоритмы поиска, что позволило получить прирост в скорости порядка 2-3сек.
Несколько видоизменена панель администрирования.

Возможности:

1. Поиск во всех директориях Вашего сайта.
2. Удобная WEB-панель администрирования со встроенной надежной защитой.
3. Вывод участка документа и выделение цветом совпадений с запросом.
4. Настройка количества отображаемых строк, цвета, синтаксическое выделение совпадений (жирный, наклонный шрифт и т.д.), время последнего изменения файла.
5. Нахождение не только точных совпадений, но и похожих слов. Например на запрос функция будут также найдены: функции, функцию, функций, функционирования, функциональный, функцией, многофункциональный и т.д.
6. Подсчет количества точных совпадений и похожих словоформ.
7. Статистика: количество обработанных Kb, файлов и время поиска.
8. Возможность запрета индексации отдельных папок корневой директории, например cgi-bin, img и т.д.
9. Возможность запрета индексации конкретных файлов, например counter. php , vote.txt, statistic.php и т.д.
10. Возможность запрета индексации файлов по маске, например.txt, .inc, .lib, .sql и т.д.
11. Возможность выбора отображения названия файла в результатах поиска: index.php - реальное название, или "Главная страница сайта" - название из тега.

Примечание:

Я не оказываю техподдержку:
1. Тем, кто не уважает авторские права.
2. Тем, чьи сайты находятся на бесплатных хостингах типа hoha.ru, fatal.ru и т.д. (не потому что I"m BAD, а потому что у меня нет времени разбираться в настройках подобных серверов).
3. Тем, кто тестирует скрипт на самостоятельно установленном локальном сервере, по причине изложенной Выше. Исключение составляет програмный комплекс ДЕНВЕР2.

От автора: PHP скрипт поиска является неотъемлемой частью современного ресурса. Но для начинающих разработчиков его реализация может стать «краеугольным камнем». Сегодня я постараюсь объяснить построение такого модуля как можно проще, чтобы его код не испугал вас своей чрезмерной сложностью.

Ищем на PHP

Организация на сайте внутренней системы поиска является важной задачей. Наличие такого функционала значительно поднимает ресурс в глазах любого пользователя. Особенно это касается узкотематических сайтов, контент которых посвящен решению конкретных «проблем». Например, в веб-программировании.

Чаще всего для написания скрипта поиска по сайту на PHP используется связка данного программного языка с . Для реализации интерактивной поисковой системы применяется технология AJAX. Но сегодня мы не будем «петлять» в таких дебрях, и остановимся на классическом варианте.

Я приведу самый простой пример поиска. В нем не будет проверок наличия соединения с СУБД, проверки результатов возвращаемой выборки и т.д. Все эти тонкости вы сможете добавить самостоятельно. Цель материала – дать общее представление о построении внутренней системы поиска на современном интернет-ресурсе. Поехали!

Для начала приведу код формы для ввода поискового запроса. Это простая разметка, даже без малейших стилевых «изысков».




< form name = "f1" method = "post" action = "search.php" >

< input type = "search" name = "search_q" / > < / br >

< / br >

< input type = "submit" value = "Поиск" / > < / br >

< / form >

Так эта форма выглядит в браузере:

Переходим к скрипту

Теперь переходим непосредственно к программному коду. Для начала приведу структуру таблицы, которую нужно создать в . Мы будем искать опубликованные материалы по их заголовку. По этому же принципу можно создать PHP скрипт поиска слов по сайту. Все в ваших умелых руках .

Сначала мы перехватываем значение, введенное пользователем в форму. Затем очищаем его от «мусора»: лишних пробелов, тегов и коннектимся к базе. После этого запускаем SQL запрос, в котором сравниваем значение поискового запроса с названием материалов, сохраненных таблице. При совпадении выводим соответствующий контент. В конце закрываем соединение с MySQL и «сбрасываем» запрос. Вот весь код примера:



Понравилась статья? Поделиться с друзьями: