Home94.at.ua

[Заходите и выкладывайте файлы=)]

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

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

Файлы выложены в ознакомительных целях, за нанесение
 вреда вашему компьютеру администрация ответственности не несёт.
Добавлен: 07.06.2012, 16:21

Файл взят с webo4ka.ru




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



[ ПОЛУЧИТЬ ПРЯМУЮ ССЫЛКУ НА ФАЙЛ ]
[Помощь сайту]

Категория: php скрипты для ucoz | Добавил: _ﮗaNعk94_ | Теги: результатов, php скрипты для ucoz, поиска, Фильтрация
Просмотров: 1729 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Новые пользователи
Dixes
1
zura
2
Мини профиль
Убить время!?
Все для uCoz
Категории раздела
Бонус на WMR

Вы можете получить WMR-бонус на свой кошелек 1 раз в сутки.

Кошелек
Код Защитный код

Обмен Webmoney

Продажа ссылок
Новый файл
Скачиваний: 68
Просмотров: 5056
Самый посещаемый
Скачиваний: 68
Просмотров: 5056
Случайный файл
Скачиваний: 104
Просмотров: 483
Статистика

Кто онлайн:

Кто нас посетил:
[Вместе с тобой нас будет больше]
Вы видите это сообщение так как вы не авторизировались.Авторизуйтесь чтобы не видеть это окно.
[Sanek94-uCoz.at.ua]



Верстка от Sanek94.at.ua