atomescrochus/laravel-string-similarities

比较两个字符串并获取相似度百分比

2.1.0 2022-10-27 14:46 UTC

This package is auto-updated.

Last update: 2024-08-27 19:26:39 UTC


README

Latest Stable Version License Total Downloads

比较两个字符串并获取相似度百分比。注意,算法不是我写的,详细信息请见文档下方。

一些方法可用于生产环境,一些则不行,请参阅使用说明获取更多信息。欢迎提交拉取请求!

安装

您可以通过composer安装此包

$ composer require atomescrochus/laravel-string-similarities

然后您需要安装包的服务提供者,除非您正在运行Laravel >=5.5(它将使用包自动发现)

// config/app.php
'providers' => [
    ...
    Atomescrochus\StringSimilarities\StringSimilaritiesServiceProvider::class,
];

使用方法

$comparison = new \Atomescrochus\StringSimilarities\Compare();

// the functions returns similarity percentage between strings
$jaroWinkler = $comparison->jaroWinkler('first string', 'second string'); // JaroWinkler comparison
$levenshtein = $comparison->levenshtein('first string', 'second string'); // Levenshtein comparison
$smg = $comparison->smg('first string', 'second string'); // Smith Waterman Gotoh comparison
$similar = $comparison->similarText('first string', 'second string'); // Using "similar_text()"

// This next one will return an array containing the results of all working comparison methods
// plus an array of 'data' that includes the first and second string, and the time in second it took to run all
// comparison. BE AWARE that comparing long string can results in really long compute time!
$all = $comparison->all('first string', 'second string');

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

测试

需要帮助。

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全性

如果您发现任何与安全相关的问题,请通过电子邮件jp@atomescroch.us联系,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件