Ucozua.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
Войти
Вы зашли на страницу для того что бы скачать Фильтрация результатов поиска кстати в отличии от других мы предоставляем этот файл без регистрации если же вы зарегистрировались то вы можете оставить комментарий к: Фильтрация результатов поиска найти ошибку или пожаловаться на материал или найти другие материалы такие как: Шаблоны для Ucoz ,скриты для ucoz и конечно раздел по Seo знаниям . Самые новые разработки в мире сети для начинающих и уже знающих вебмастеров.Графика для Ucoz присутствует в оригинале: Кнопки для форумов, Ранги, Иконки для Групп и всё это сделано в Photoshop Cs5 !!

Фильтрация результатов поиска

Автор: GoodJob 10.04.2011, 13:21 Скрипты Php
Фильтрация результатов поиска

В этом примере демонстрируется как с помощью php-скрипта отфильтровать результаты поиска по сайту по букве алфавита. Скрипт ожидает ввода поисковой фразы, после нажатия кнопки "Поиск" выполняет POST запрос на скрипт поиска по сайту (в данном примере поиск проходит по сайту forum.ucoz.ru), затем структурирует полученный результат (ответ), фильтрует его и выводит на страницу. Исходный код данного примера приведен ниже.
В шаблоне страницы:

Code

<div align="center">  
   

  <b>Данный пример демонстрирует использование скрипта для фильтрации результатов поиска по сайту по букве алфавита</b>  
  </p>  
</div>  
<hr>

PHP скрипт примера:

Code
<if ((count($_POST)>0) && $_POST['q'])  
{  
  $___notjson=1;  
  $ch = curl_init();  
  curl_setopt_array($ch, array(CURLOPT_URL => "http://forum.ucoz.ru/search/?q=".$_POST['q'],  
  CURLOPT_RETURNTRANSFER => TRUE,  
  CURLOPT_CONNECTTIMEOUT => 5,  
  CURLOPT_TIMEOUT => 5,  
  CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)")  
  );  
  $data = curl_exec($ch);  
  curl_close($ch);  
  preg_match("/]*?\s*class=[\'\"]?\s*eBlock\s*[\'\"]?/si",$data,$matches,PREG_OFFSET_CAPTURE);  
  $data=substr($data,$matches[0][1]);  
  $matches="none";  
  preg_match_all("/]*?\s*class=[\'\"]?\s*eTitle\s*[\'\"]?.*?\s*<\/div>/i",$data,$matches);  
  $mydata=array();  
  $myalph=array();  
  foreach ($matches[0] as $key => $value)  
  {  
  $mydata[$key]=array();  
  $mydata[$key][0]=$value;  
  preg_match("/>\s*(\p{L})[^<]+ if (!isset($matches0[1])) next;  
  $matches0[1]=mb_strtoupper($matches0[1],'UTF-8');  
  if (!isset($myalph[$matches0[1]])) $myalph[$matches0[1]]=array();  
  array_push($myalph[$matches0[1]],$key);  
  }  
  preg_match_all("/]*?\s*class=[\'\"]?\s*eMessage\s*[\'\"]?.*?\s*<\/div>/i",$data,$matches);  
  foreach ($matches[0] as $key => $value) $mydata[$key][1]=$value;  
  preg_match_all("/]*?\s*class=[\'\"]?\s*eDetails\s*[\'\"]?.*?\s*<\/div>/si",$data,$matches);  
  foreach ($matches[0] as $key => $value) $mydata[$key][2]=$value;  
  $html="  

";  
  foreach ($myalph as $key => $value) $html.=" ";  
  $html.="  

   
   
";  
  if (!$_POST['letter']) foreach ($mydata as $value) $html.="";  
  else foreach ($myalph[$_POST['letter']] as $value) $html.="";  
  $html.="  
".$value[0].$value[1].$value[2]."  
   
".$mydata[$value][0].$mydata[$value][1].$mydata[$value][2]."  
   

";  
  $html=str_replace("\n"," ",$html);  
  $html=str_replace("'","'",$html);  
  echo "$('#sortsearch').html('$html')";  
  return;  
}  
?>  

<div id='sortsearch'></div>  
<form action="/php/example005/filtersearchbyalph.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">  

Поисковый запрос: </p><input type="text" name="q" />  

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

Примечание
php-скрипт обрабатывает столько материалов, сколько возвращает поисковый скрипт сайта. Если вы хотите, чтобы скрипт работал с большим количеством результатов, чем те, которые возвращаются по умолчанию, измените соответствующую настройку в панеле управления сайтом.

Просмотров: 1241 Источник: http://Ucozua.ru

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


Опрос
Вы берёте в интернете кредиты?
Всего ответов: 1471
Онлайн на сайте
Онлайн всего: 1
Гостей: 1
Вебмастеров: 0
Вебмастера
Гости

Поддержи сайт
UcozUa.ru всё для скриптера и вебмастера

Витрина ссылок
SkyAngel: Скачать игры через торрент бесплатно и без регистрации. Анонсы о новых играх.
wero1: На Firebiz.ucoz.net только популярные торренты .
SkyAngel: Прокачай свой фотошоп!
spi-ce174: Сайт скриптов и уникальных шаблонов

Друзья сайта