spekulatius / keyword-merge
A helper to compare and merge similar keywords using PHP.
Fund package maintenance!
spekulatius
Buymeacoffee
Requires
- php: ^7.2|^8.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^8.5
- symfony/thanks: *
Suggests
- spekulatius/phpscraper: Make your life easier accessing the web from PHP.
README
An helper to compare similarity of keywords or list of keyword.
You will still need to a make a final call which helper(s) to use and how to configure them.
This package is intended to be used with PHPScraper.
Sponsors
This project is sponsored by:
Want to sponsor this project? Contact me.
Install
composer require spekulatius/keyword-merge
At a glance
Here are a few impressions on the way the library works:
$kwcmp = new Spekulatius\KeywordMerge\KeywordComparator; $kwcmp->matchesWord('tbilisi georgia', 'is tbilisi the capital of georgia?'); // false $kwcmp->containsWord('tbilisi georgia', 'is tbilisi the capital of georgia?'); // true $kwcmp->similarWord('tbilisi georgia', 'georgias tbilisi'); // true
You call also use arrays with correlated methods:
$kwcmp = new Spekulatius\KeywordMerge\KeywordComparator; $kwcmp->matchesWords('tbilisi georgia', 'is tbilisi the capital of georgia?'); // [] $kwcmp->containsWords('tbilisi georgia', 'is tbilisi the capital of georgia?'); // ['is tbilisi the capital of georgia?'] $kwcmp->similarWords('tbilisi georgia', 'georgias tbilisi'); // ['georgias tbilisi']
Keywords in URL Path
The library can also test for keywords in the URL path:
$kwcmp = new Spekulatius\KeywordMerge\KeywordComparator; $kwcmp->inUrlPath('https://example.com/cats-are-awesome', 'seo tools'); // false $kwcmp->inUrlPath('https://example.com/seo-tools', 'seo tools'); // true $kwcmp->inUrlPath('https://example.com/chrome-seo-tools', 'chrome seo tools and toolkit'); // true - one word difference is accepted, from 3+ words
Further example and cases can be found in the tests!