mikechip / strfind
Library provides substring search in files. Special for prkt.tech
Requires
- php: ^7.3
- ext-fileinfo: *
- ext-mbstring: ^7.3
- ext-yaml: *
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2020-04-10 16:21:23 UTC
README
Библиотека предназначена для поиска подстроки в файлах и возвращения её позиции.
Доступна установка через 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.