Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/30: Рейтинг темы: голосов - 30, средняя оценка - 4.67
monahoff
38 / 38 / 23
Регистрация: 26.01.2012
Сообщений: 276
1

Как сделать поиск по сайту?

06.02.2012, 18:17. Просмотров 5465. Ответов 6
Метки нет (Все метки)

Хочу сделать поисковик по сайту.
Хранение информации всех страниц организовано в файлах (.txt). Строку полученную из формы сравниваю с информацией в странице по средствам функции stristr(без учета регистра). Но эта функция возвращает всю строку после первого вхождения совпадающей подстроки. А мне нужно выяснить сколько раз искомое слово встречается в тексте(тоже без учета регистра).
Помогите решить эту задачу!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 18:17
Ответы с готовыми решениями:

Как сделать простейший поиск по сайту на html без баз данных
Добрый день. Как новичок в вопросе, понимаю, насколько тяжело объяснять...

Как организовать поиск по сайту?
Назрел вопрос по поиску: не знаю как правильно его реализовать, погуглил нашел...

Как написать поиск по сайту на рhp?
подскажите как написать поиск по сайту на рhp. может кто писал??

Как сделать поиск по сайту с базой данных на xml
Здравствуйте. Есть сайт, хотел обновить на нем поиск. Сейчас он работает таким...

Как реализуется поиск по сайту?
Как реализуется поиск по сайту? Через базы данных? Если да, то как справляются...

6
Denis St.
44 / 25 / 15
Регистрация: 07.11.2011
Сообщений: 75
09.02.2012, 01:25 2
substr_count() возвращает число вхождений подстроки. А вообще забудь про файлы и скачай нормальный самоучитель по PHP + MySQL. Твой сайт будет развиваться и рано или поздно ты поймешь что хранение контента в файлах это огромная рутина. MySQL прекрасная вещь и легка в освоении...
1
monahoff
38 / 38 / 23
Регистрация: 26.01.2012
Сообщений: 276
09.02.2012, 13:34  [ТС] 3
Спасибо!
Первый сайт я намеренно решил сделать на файлах, только лишь потому, что он очень маленький, а SQL еще впереди))
0
Denis St.
44 / 25 / 15
Регистрация: 07.11.2011
Сообщений: 75
09.02.2012, 13:38 4
Ну желаю удачи)
0
monahoff
38 / 38 / 23
Регистрация: 26.01.2012
Сообщений: 276
09.02.2012, 14:42  [ТС] 5
обана!!!
substr_count() чувствительна к регистру, а значит если у меня в тексте будут слова с заглавной буквы или наоборот, то функция их проглядит...я решил действовать так, пихаю исходный текст в массив explode, потом прохожусь по этому массиву перебором foreach и к каждому элементу в цикле применяю stristr - ей все равно с какой буквы написано, тогда заветный код выдаст мне количество совпадений с исходным словом на каждой странице. Как считаешь, выход?
0
Denis St.
44 / 25 / 15
Регистрация: 07.11.2011
Сообщений: 75
09.02.2012, 15:10 6
Пишу без сервака, поэтому могу ошибаться.

Добавлено через 6 минут
Можно функцию забацать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
  function str_count(&$word, &$file) {
  $k=0;
  $fp=fopen($file,"r");
  while (!feof($fp)) {
  $g=fgets($fp);
  $k=$k+stristr($word,$g);
  return $k;
}
fclose($fp);
}
 
echo '<p>Количество повторений слова "разработка" в файле content1.txt: </p>'
.str_count("разработка",'content.txt');
?>
Как-то так. Если что - подправь.

Добавлено через 13 минут
Ошибся в прошлом сообщении. Подумал о функции substr_count.

Пишу без сервака, поэтому могу ошибаться.
Можно функцию забацать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
  function str_count(&$word, &$file) {
  $k=0;
  $fp=fopen($file,"r");
  while (!feof($fp)) {
  $g=fgets($fp);
  while (stristr($word,$g) !== false) {
  $k=$k+1;
  $g=substr(stristr($word,$g),strlen($word)+1,strlen(g)-strlen(stristr($word,$g)));
  }
  }
  fclose($fp);
  return $k;
}
 
echo '<p>Количество повторений слова "разработка" в файле content1.txt: </p>'
.str_count("разработка",'content.txt');
?>
Как-то так. Если что - подправь.
0
monahoff
38 / 38 / 23
Регистрация: 26.01.2012
Сообщений: 276
09.02.2012, 23:19  [ТС] 7
Разумно)) Понял, еще раз спасибо!!
0
09.02.2012, 23:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2012, 23:19

Организовать поиск по сайту PHP&MySQL. Как просклонять слово?
Пример: При запросе &quot;медведь&quot;, пользователю надо выдать &quot;медведи&quot;,...

Как сделать функцию "Обязательный клик по сайту рекламодателя"?
Всем привет. Проблема вот в чем: В одном буксе видел такую функцию в серфинге,...

Поиск по сайту
наверняка этот вопрос уже рассматривался, но что-то я не нашла такой темы.... ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru