Поиск из файла
Здравствуйте! Опять проблемы с поиском. С поиском заданных слов в файле разобралась в разных вариациях. Но никак не могу сообразить как сделать наоборот:
Есть текстовый файл в нем строки-словосочетания, есть заданное предложение, как сделать поиск совпадений не в файле, а из файла, именно в таком порядке, связанно это с тем, что заданное предложение может быть длинным, а словосочетания на порядок короче, поэтому вариант поиска предложения в файле не подходит. А поиск в предложении на наличие словосочетаний, то что нужно. Как перебрать массив строк файла на предмет совпадения вхождений в предложении? |
Sonya,
есть готовые решения для этого, ищите в сети, подключайте и используйте. А вообще, что вы уперлись в файлы, есть БД, а в них есть полнотекстовый поиск, логику которого можно задавать. |
С БД только начала разбираться. А готовых решений не нашла, поэтому и написала на форуме.
|
Значит не можете конкретизировать свой поисковый запрос.
Если: предложение - "А Б вгде Ж З" словосочетания - "А Б", "Ж З" то обходом в цикле массива словосочетаний ищем их в предложении. Если: предложение - "А Ж вгде З Б" словосочетания - "А Б", "Ж З" и тоже нужно найти, то тоже самое, но с добавлением логики поиска И/ИЛИ Видимо у вас структуры управляющие/хранимые не очень удачно построены, что требуются такие затратные операции. |
Никак не получается
|
Покажите пример того что искать и в чем искать.
|
$search = 'поиск слов'; $lines = file('text.txt'); foreach($lines as $num_line => $line_value) { if(strpos($line_value, $search) !== FALSE) echo "$num_line $line_value<br>"; } Так я ищу словосочетание в текстовом файле text.txt. Содержание текстового файла: поиск слов поиск предложений поиск слова поисковик поиск словечек поиск словосочетаний поиски словечек Естественно, все находит, но никак не могу сделать, чтобы процесс был обратным, чтобы из файла искал при том, чтобы выводил и номера строк совпадений. |
Цитата:
Если поиск, это есть точное сопоставление строк $search и $line_value, то не strpos($line_value, $search), а array_keys() с параметром поиска, цикл при этом не нужен. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 07:32. |