rfc:mb_levenshtein

This is an old revision of the document!


PHP RFC: Your Title Here

Multibyte levenshtein distances have required Fearue requests in the past. Therefore, we would like to create the mb_levenshtein function to implement this.

ref: https://github.com/php/php-src/issues/10180

Introduction

There is a levenshtein function, but it does not support multibyte. Therefore, a multibyte-aware version of the mb_levenshtein function is implemented.

Proposal

Add mb_levenshtein function.

function mb_levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1, ?string $encoding = null): int {}

Backward Incompatible Changes

This could break a function existing in userland with the same name.

Proposed PHP Version(s)

PHP 8.5

RFC Impact

To SAPIs

To SAPIs Will add the aforementioned functions to all PHP environments.

To Existing Extensions

Adds mb_levenshtein() to the mbstring extension.

To Opcache

No effect.

New Constants

No new constants.

php.ini Defaults

No changed php.ini settings.

Open Issues

Future Scope

This section details areas where the feature might be improved in future, but that are not currently proposed in this RFC.

Proposed Voting Choices

Include these so readers know where you are heading and can discuss the proposed voting options.

Voting

TBD.

Implementation

TBD.

References

Rejected Features

Keep this updated with features that were discussed on the mail lists.

rfc/mb_levenshtein.1727244287.txt.gz · Last modified: 2024/09/25 06:04 by youkidearitai