dana/bitap

This package is abandoned and no longer maintained. The author suggests using the loilo/fuse package instead.

Fuzzy string search with Bitap algorithm

v1.0.0 2016-02-08 17:57 UTC

This package is not auto-updated.

Last update: 2021-02-23 07:30:57 UTC


README

\Dana\Bitap is a minimal PHP implementation of a Bitap fuzzy string-matching algorithm.

Warning

This project hasn't been updated in a long time, and i don't think it's very good anyway. I haven't tried it myself, but you might consider using Loilo/Fuse instead.

Usage

Two methods are provided: match(), which tests an individual needle string against an individual hay-stack string, and grep(), which tests an individual needle string against an array of hay-stack strings (similar to \preg_grep().

// Returns true
(new \Dana\Bitap\Bitap())->match('foo', 'foobar', 0);

// Returns [0 => 'foobar']
(new \Dana\Bitap\Bitap())->grep('bar', ['foobar', 'foobaz'], 0);

// Returns [0 => 'foobar', 1 => 'foobaz']
(new \Dana\Bitap\Bitap())->grep('bar', ['foobar', 'foobaz'], 1);

To do

  • Make Unicode-safe
  • Provide methods which return the match index(es)