Поиск в файле и вывод строки с результатом...

Статус
В этой теме нельзя размещать новые ответы.

WorkNets

Профессор
Регистрация
25 Апр 2008
Сообщения
161
Реакции
38
Приветствую всех зашедших. Есть часть кода:
PHP:
$link="links.txt";
$file=fopen($link,"r");
$rf = fread($file, filesize($link));  
fclose($file);

$code = $rf;

$s = strpos($code, "$partner");
......
Тут нужно вывести строку в которой нашлось $partner

В последней строке идет поиск первого вхождения значения которое содержится в $partner. Как сделать чтоб выводилась полностью строка в которой найдено это вхождение? Чет я туплю :confused:
Ай Нид Хелп :bc:
Заранее пасиб :thenks::thenks::thenks:
 
по моему проще было бы так

PHP:
$link="links.txt";
$rf = file($link);  
for ($i=0; $i<count($rf); $i++)
  if (strpos($rf[$i], "$partner")!==false) echo $rf[$i];
 
Dimkich, я вот не знаю - банить тебя или нет... Ты считаешь себя профессиональным программистом? что будет, если его файл - это 1 млн строк? А о том, что ты каждый раз в for запускаешь подсчет размера массива - думал вообще? :D

WorkNets, не слушай плохих программистов! Учись думать и понимать сам. Чтобы компенсировать твои возможные потери от использования плохого кода, предлагаю следующий вариант ;)

PHP:
$sFile = 'myFile.txt';
$sPartner = 'yandex';
    
if(file_exists($sFile) && is_readable($sFile) && strlen($sPartner)) {
        
    $hFr = fopen($sFile);
    $iCounter = 0;
        
    while ($sLine = fgets($hFr)) {
        $iCounter++;
        if(strpos($sLine, $sPartner) !== false) {
                echo 'Substring '.$sPartner.' found at line #'.$iCounter.' in string '.$sLine.'<br />'."\n";
               // если нужно остановить поиск - пишем break;
        }
     }
     fclose($hFr);
 }

ЗЫ: Спасибо Солюшну - облажался с проверкой на is_readable и fclose :)
ЗЫЫ. Замечание Dimkich о скобке принято ;)
 
гы... А теперь задачи со звездочкой.

* Реализовать алгоритм, который написал Jeurey, но используя конструкцию цикла for. Размер файла не ограничен. Задача несложная, исключительно на знание особенностей пхп.

** Достаточно сложная задача на алгоритмику. Решить задачу ТС, только под искомой строкой понимается любой набор символов, возможно включающий в себя знаки переноса строки.

:)
 
А я знаю ответ :p
 
WorkNets, не слушай плохих программистов! Учись думать и понимать сам. Чтобы компенсировать твои возможные потери от использования плохого кода, предлагаю следующий вариант ;)


ЗЫ: Спасибо Солюшну - облажался с проверкой на is_readable и fclose :)

Пасиб за элегантное решение. Сам только учусь поэтому и обращаюсь к знающим людям :ah:
Невозможно же научиться всему самому без наставников и критики.
Поэтому сначала читаем :read: самоучитель, тут же пробуем писать, и если попадаем в ступор просим помощи :bc: на нуле :) Чтоб избежать ошибок в дальнейшем и учиться правильно строить алгоритмы и создавать хороший код...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху