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


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



Статистика
Онлайн всего: 30
Гостей: 30
Пользователей: 0



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

php-скрипта поиска по сайту по букве алфавита.

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

В шаблоне страницы вывод поисковой формы:

Code
<div align="center">
  <p>
  <b>Данный пример демонстрирует использование скрипта для фильтрации результатов поиска по сайту по букве алфавита</b>
  </p>
</div>
<hr>
<?$PHPCODE$("filtersearchbyalph.php")?>

filtersearchbyalph.php создаем из ниже указанного PHP скрипта, и заменяем на ссылку залитого скрипта.
PHP скрипт:
его скачиваем в архиве уже готовый , или используем блокнот и сохраняем с расширением php с таким названием filtersearchbyalph.php ниже приведенный код вставляется в блокнот
Code
<?
if ((count($_POST)>0) && $_POST['q'])
{
  $___notjson=1;
  $ch = curl_init();
  curl_setopt_array($ch, array(CURLOPT_URL => "/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("/<table\s+[^>]*?\s*class=[\'\"]?\s*eBlock\s*[\'\"]?/si",$data,$matches,PREG_OFFSET_CAPTURE);
  $data=substr($data,$matches[0][1]);
  $matches="none";
  preg_match_all("/<div\s+[^>]*?\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})[^<]+</iu",$value,$matches0);
  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("/<div\s+[^>]*?\s*class=[\'\"]?\s*eMessage\s*[\'\"]?.*?\s*<\/div>/i",$data,$matches);
  foreach ($matches[0] as $key => $value) $mydata[$key][1]=$value;
  preg_match_all("/<div\s+[^>]*?\s*class=[\'\"]?\s*eDetails\s*[\'\"]?.*?\s*<\/div>/si",$data,$matches);
  foreach ($matches[0] as $key => $value) $mydata[$key][2]=$value;
  $html="<div>
<form name=\"sortform\" action=\"/php/example005/filtersearchbyalph.php\" method=\"post\" onsubmit=\"_uPostForm(this,{dataType:'script'});return false;\" onerror=\"alert('Error');\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">
<tr><td>";
  foreach ($myalph as $key => $value) $html.=" <input type=\"submit\" value=\"".$key."\" onclick=\"document.sortform.letter.value='".$key."'\">";
  $html.="</td></tr></table>
<input type=\"hidden\" name=\"q\" value=\"".$_POST['q']."\">
<input type=\"hidden\" name=\"letter\" value=\"\">
</form></div><table>";
  if (!$_POST['letter']) foreach ($mydata as $value) $html.="<tr><td>".$value[0].$value[1].$value[2]."</td></tr><tr><td> </td></tr>";
  else foreach ($myalph[$_POST['letter']] as $value) $html.="<tr><td>".$mydata[$value][0].$mydata[$value][1].$mydata[$value][2]."</td></tr><tr><td> </td></tr>";
  $html.="</table><br><hr><br>";
  $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>Поисковый запрос: </p><input type="text" name="q" />
<p><input type="submit" value="Поиск"></p>
</form>

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

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

Всего комментариев: 0

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

Форма входа


Поиск


На форуме

1 Работа на заводе

29

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

54

3 Армия

0

4 Может у кого есть!

6

5 Нужны копирайты

1

6 Остались честные СМИ?

0

7 Раздача подарков и стик...

1

8 Дисковое пространство

3

9 Ручной прогон по трасто...

19

10 бот для умножения денег...

0


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


Комментарии



Copyright UcozOn.ru™ © 2008-2025


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