Я знаю, что есть несколько других ответов на это, но они не подходят для кода, который у меня есть. Поскольку код, который у меня есть, должен обрабатывать 1000 строк + для каждого поиска.Поиск нескольких строк в одном файле txt
Я хочу объединить строки из 2 входов, поэтому PHP-скрипт ищет как в файлах txt, так и объединяет их при выводе.
Это то, что я пробовал:
$search = $_GET["search"];
$search2 = $_GET['search2'];
$logfile = $_GET['logfile'];
// Read from file
$file = fopen($logfile, "r");?>
<head><title>Searching: <?php echo $search ?></title></head>
<?php
while(($line = fgets($file) && $line2 = fgets($file))!= false)
{ if (stristr($line, $search)) { } if (stristr($line2, $search2)) { }
?><font face='Arial'> <?php $lines = $line + line2; ?><?php echo $lines ?></font><hr><p><?php
}
Когда я запускаю этот код как поиск и Search2 заполнены: Я получаю этот выход:
1
1
1
1
1
1
И те 1, кажется бесконечным. Надеюсь, у кого-то есть решение.
Выходы должны быть для обеих строк: поиск = 'новый'
He is a new player
Gambling is a new sport
New is better than old
Search2 = 'сайт'
It is a nice website
The website is down
The FIFA website is being built
правый выход должен быть:
He is a new player
It is a nice website
Gambling is a new sport
The FIFA website is being built
New is better than old
Спасибо за чтение.
~ Conner
Не могли бы вы дать некоторые примеры того, что вывод, который вы ожидаете, и какие входные/параметры должны генерировать этот вывод? – Oldskool
Я отредактировал мое сообщение. – Conner
Неужели у вас есть два 'fgets()' чтения в две разные переменные? И почему бы не искать один регулярный поиск, например '(new | website)'? – holroy