$fn = searchResults.$WF_copy."+".file_indexes($checkboxes)
  ."/".$i.".txt";

Записываем в файл всю полученную в результате поиска информацию:

$f = fopen($fn, "a+");
fwrite($f, count($res)."\n$found\n
  $found_1\n$found_2\n$found_3\n$found_4\n"
fclose($f);

Открываем файл с первой страницей и его содержимое помещаем в переменную для вывода на экран:

$filePath = searchResults.$WF_copy."+".
  file_indexes($checkboxes)."/"."1.txt";
$text = file($filePath);

Если же пользователь запросил конкретную страницу, передав ее номер в переменной $page, то читается файл с этой страницей и предварительный поиск не осуществляется:

$filePath = searchResults.$path_to_file."/".$page.".txt";
$text = file($filePath);

3.2.5 Генерирование результатов поиска и создание протокола запроса

Необходимо в форме запроса при переходе со страницы на страницу сохранять информацию о том, какие флаги отметил пользователь, и оставлять неизменной саму словоформу в текстовом поле. Эти данные передаются при каждом переходе, читаются и записываются в форму:

foreach ( $checkboxes as $k=>$v )
{
  ?><tr>
  <td>
  <input type="checkbox" name="<? echo $v[cbName]
  ?>"
  <?echo (isset(${$k})) ? ${$k} = 'checked':
  ${$k} = ''?>>
  </td><td colspan="3">
  <? echo $v[cbLabel]?>
  </td>
  </tr>
  <?

При выводе информации предусмотрено сообщение о том, что не была введена ни одна словоформа:

if($query_is_empty)
{
  ?>
  <aclass='d'><br>Поисковая строка пуста</a>
  <?
}

НЕ нашли? Не то? Что вы ищете?

Обработка предупреждения о превышении лимита допустимого количества слов в запросе:

if($to_much_words)
{
  ?><p class="d">Разрешено вводить не более трех словоформ</p><?
  exit();
}

Обработка ситуации, когда словоформа не найдена:

if(count($_GET)>0)
{
  if($nothing_found)
  {
  ?><p class="d">Искомая словоформа в корпусе не найдена</p><?
  }

В итоге получаем либо первую страницу, либо необходимую страницу с контекстами. Для показа найденных страниц пользователю используется функция ShowPageNumbers, высчитывающая какое количество страниц необходимо для отображения всей полученной информации и выводящая ссылки на страницы.

В самом конце пишется протокол запроса (дата запроса, время, адрес клиента, информация о клиенте, искомая словоформа, количество упоминаний в каждом жанре и общее число упоминаний) в специальный файл с помощью функции makeProtocol. И, наконец, вся полученная информация выводится на экран:

else{
if(!isset($page))
  $page = 1;
ShowPageNumbers($text[0], $WF_initial, $yo, $compounds,
  $page);
results_header($text[0], $text[1], $text[2], $text[3],
  $text[4], $text[5]);
makeProtocol($WF_initial, $text[3], $text[2], $text[4],
  $text[5], $text[0], text[1]);
echo $data;
ShowPageNumbers($text[0], $WF_initial, $yo, $compounds,
  $page);
?>

Заключение

В процессе работы над данной курсовой был прочитан и осознан материал нескольких докладов и работ в области корпусной лингвистики. Эта сфера в данный момент вызывает живой интерес со стороны исследователей языка и открывает широкие возможности анализа данных на основе применения современных информационных технологий, позволяющих обрабатывать текстовый материал значительного объема.

Созданная программа представляет собой часть реализации web-представления проекта «Национальный корпус русского языка». Данный конкордансер позволяет осуществлять поиск словоформы (последовательности словоформ) с несколькими опциями и получать на выходе список контекстов словоформы, а также подокументную и пожанровую частотность.

Список использованных источников Balkan Rusistics [Электронный ресурс] = Балканская Русистика = совместный проект балканских русистов  / Софийский гос. ун-т им. Св. Климента Охридского, Факультет Славянских филологий; Адм-ры сайта - Электрон. дан. - София; Белград. - Режим доступа: http://www. russian. slavica. org/article3.html, свободный. - Загл. с экрана. Рыков ориентированный корпус текстов / // Тверской лингвистический меридиан. - 1999. - Выпуск 3. – С. 89-96. , , Касевич проблемы создания национального корпуса русского языка / , , // Научно-техническая информация. - 2003. -  № 6. - С. 2-8. - ISSN 0548-0027. , Толбаст системы сети Интернет и корпусные исследования // Труды международной конференции «MegaLing’2005. Прикладная лингвистика в поиске новых путей», 27 июня2 июля 2005 г., Меганом, Крым, Украина / Санкт-Петербургский государственный университет (Россия), Таврический национальный университет им. (Украина), Таврический экологический институт (Украина). — СПб.: Издательство «Осипов», 2005. - С. 50. Аверин корпус-менеджера: программа «Экспертная лингвистическая система» // Труды международной конференции «MegaLing’2005. Прикладная лингвистика в поиске новых путей», 27 июня — 2 июля 2005 г., Меганом, Крым, Украина / Санкт-Петербургский государственный университет (Россия), Таврический национальный университет им. (Украина), Таврический экологический институт (Украина). — СПб.: Издательство «Осипов», 2005. - С. 5. А
Пример пользовательского запроса

1

Б
Пример вывода результатов запроса

1

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5