mikechip/strfind

This package is abandoned and no longer maintained. No replacement package was suggested.

Library provides substring search in files. Special for prkt.tech

dev-master 2020-02-10 15:55 UTC

This package is auto-updated.

Last update: 2020-04-10 16:21:23 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock available Build Status Coverage Status

Библиотека предназначена для поиска подстроки в файлах и возвращения её позиции.

Доступна установка через Composer:

    composer require mikechip/strfind

Основу составляет класс Finder, экземпляр которого нужно создать для работы:

    $finder = new Mike4ip\Strfind\Finder();

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

    $finder->setLocalFile(__DIR__ . '/example-file.txt');

Последнее, что нужно сделать перед самим поиском - это задать провайдер. Провайдеры используются для реализации самой логики поиска. Например, провайдер Substr будет просто искать в заданном источнике подстроку и вернёт результат - строку и позицию, где она была найдена.

Задаётся провайдер следующим образом:

    $finder->setProvider(
        new Mike4ip\Strfind\Provider\Substr()
    );

После этого наконец-то совершается сам поиск:

     $result = $finder->find( 'Lorem ipsum' );

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

    print("Подстрока найдена\n");
    print("в строке {$result->line}, позиция {$result->row}\n");
    print("Строка, в которой найдено: {$result->string}\n");

Больше примеров можно увидеть в папке samples.