Приветствую Вас Прохожий | RSS Пятница, 09.12.2016, 06:49
Меню сайта
ВИДЕО УРОКИ СКРИПТЫ UCOZ ШАБЛОНЫ UCOZ ФОТОШОП UCOZ КАТАЛОГ СТАТЕЙ ВЕБМАСТЕРУ UCOZ ВИДЕО ФОТОШОПА ДОПОЛНЕНИЕ САЙТА РАЗДЕЛ СТУДИИ УСЛУГИ НАШЕГО САЙТА


Мини-чат
Все вопросы задаем в форуме,
здесь они игнорируются!



Статистика
Онлайн всего: 7
Гостей: 6
Пользователей: 1
alexman91



Главная » Файлы » Скрипты для uCoz » Скрипты php для ucoz

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

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

Code

Code
<div align="center">  
   

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

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

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-скрипт обрабатывает столько материалов, сколько возвращает поисковый скрипт сайта. Если вы хотите, чтобы скрипт работал с большим количеством результатов, чем те, которые возвращаются по умолчанию, измените соответствующую настройку в панеле управления сайтом.
Автор\Источник: не указан или не известен!

Для того что бы скачать архив необходимо зайти на сайт как пользователь.
Просмотров: 1796 | Комментарии: 2 | Рейтинг: 5.0/2 | |Категория: Скрипты php для ucoz | Добавил: makcim19997 | Дата: 04.04.2011 | Скачали: 0 | Теги: поиска, результатов, фильтрация
Похожие новости на нашем сайте
Коментарий к новости

Всего комментариев: 2
1 Smile   Дата: 04.04.2011  Время: 17:06   [№ 7454]
Всё, теперь поперли php скрипты)

2 makcim19997   Дата: 04.04.2011  Время: 17:07   1 [№ 7456]
дак вдруг кому надо
и 2 скрипта, это еще фигня))))


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа
Логин:
Пароль:


Поиск


На форуме

1 Файловик. Уникальные те...

0

2 Куплю сайты в индексе Я...

1

3 Куплю сайты с ТИЦ/PR (п...

9

4 Предлагаю услуги для ан...

0

5 Предлагаю услуги по про...

0

6 Комплексный прогон сайт...

51

7 Сайт онлайн фильмов на ...

1

8 Проблема с таблицей

9

9 Отредактировать фото

2

10 Уже все перепробовал )

1


Подробней о форуме


Комментарии



Copyright UcozOn.ru™ © 2008-2016


Кнопка 88х31 сайта ucozon.ru