توابع levanshtein() در PHP
مثال
محاسبه فاصله Levenshtein بین دو رشته:
<?php echo levanshtein("Hello World","ello World"); echo "<br>"; echo levanshtein("Hello World","ello World",10,20,30); ?>
تعریف و استفاده
دستورالعمل levenshtein() فاصله Levenshtein بین دو رشته را بازمیگرداند.
فاصله Levenshtein، که به عنوان فاصله ویرایش نیز شناخته میشود، تعداد کمترین عمل ویرایشی برای تبدیل یک رشته به رشته دیگر است. عملهای مجاز شامل جایگزینی یک کاراکتر با کاراکتر دیگر، اضافه کردن یک کاراکتر و حذف یک کاراکتر است.
به طور پیشفرض، PHP برای هر عمل (جایگزینی، اضافه کردن و حذف) وزن یکسانی قرار میدهد. اما میتوانید با تنظیم پارامترهای اختیاری insert، replace، delete، هزینه هر عمل را تعریف کنید.
نکته:دستورالعمل levenshtein() بزرگنویسی را در نظر نمیگیرد.
نکته:دستورالعمل levenshtein() سریعتر از similar_text() دستورالعمل similar_text() سریعتر است. اما، دستورالعمل similar_text() با تعداد کمتری تغییرات لازم میتواند نتیجه دقیقتری ارائه دهد.
نحوه استفاده
levenshtein(string1,string2,افزودن,جایگزینی,حذف)
پارامترها | توضیح |
---|---|
string1 | ضروری. رشته اول که باید مقایسه شود. |
string2 | ضروری. رشته دوم که باید مقایسه شود. |
افزودن | اختیاری. هزینه اضافه کردن یک کاراکتر. پیشفرض 1 است. |
جایگزینی | اختیاری. هزینه جایگزینی یک کاراکتر. پیشفرض 1 است. |
حذف | اختیاری. هزینه حذف یک کاراکتر. پیشفرض 1 است. |
جزئیات فنی
بازگشت ارزش: | بازگشت فاصله Levenshtein بین دو رشته از دو پارامتر. اگر یکی از رشتهها بیش از 255 کاراکتر باشد، بازگشت -1 میکند. |
نسخه PHP: | 4.0.1+ |