1. Главная
  2. Статьи
  3. Вопрос-Ответ
  4. Новости
  5. Форум
  6. Вики
 

Биржа комментариев

СМС рассылки

Партнерские программы

Бесплатное продвижение сайтов

VPS хостинг

Кабель оптом

Качественный контент

Офисная мебель Проспект

PHP cкрипт – найти ключевое слово и вывести окружающий его текст

Используя PHP пытаюсь создать скрипт, который ищет в текстовом файле ключевое слово и выводит все предложение окружающее это слово.

Категория вопроса: Веб-программирование | Просмотров: 5415 | Добавлена: 09.01.2013

Ща я как отвечу!

Добавление комментария по теме
Ваш комментарий ↓ Ж К Ч Т Quote URL Код
Антиспамерская проверка, три плюс семь равно (числом)
Гость009.01.2013

Так же аналогичный скрипт, который так же выведет все строки, в которых будут найдены совпадения:

 <?php
    $file = 'somefile.txt';
    $searchfor = 'name';
    header('Content-Type: text/plain');
    $contents = file_get_contents($file);
      // позволяет избежать специальных символов в массиве
    $pattern = preg_quote($searchfor, '/');
      // завершение регулярного выражения, совпадающего всему предложению
    $pattern = "/^.*$pattern.*$/m";
      // поиск и добавление в массив $matches всех совпадений 
  if(preg_match_all($pattern, $contents, $matches)){
     echo "Найденные совпадения: ";
     echo implode(" ", $matches[0]);
     }
  else {
     echo "Совпадений не найдено";
       }
 ?>
Если нужно вывести не всю строку, а определенное количество символов/слов, добавьте обрезание текста вокруг ключевого слова.

Цитировать
Гость009.01.2013

Этот метод (скрипт) позволяет искать в файле любого размера (большой размер не приведет к ошибке) и вернет все ключевые слова, которые совпали с запросом:

 <?php
  $searchthis = "mystring";
  $matches = array();
  $handle = @fopen("path/to/inputfile.txt", "r");
    if ($handle)
        { 
         while (!feof($handle))
            {
            $buffer = fgets($handle);
            if(strpos($buffer, $searchthis) !== FALSE)
            $matches[] = $buffer;
            }
        fclose($handle);
        }
   //вывод результата
  print_r($matches);
 ?>

Цитировать
Гость031.01.2017
10
Цитировать
 
О сайте ⋅  Контакты