最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,
删除一个字符。
例如把 kitten
转换为 sitting
:
sitten (k→s
)
sittin (e→i
)
sitting (→g)levenshtein() 函数给每个操作(替换、插入和删除)相同的权重。不过,您可
以通过设置可选的 insert、replace、
delete
参数,来定义每个操作的代价。
语法:
levenshtein(string1,string2,insert,replace,
delete
)
参数 描述
•string1
必需。要对比的第一个字符串。
•string2
必需。要对比的第二个字符串。
•insert
可选。插入一个字符的代价。默认是 1
。
•replace
可选。替换一个字符的代价。默认是 1
。
•
delete
可选。删除一个字符的代价。默认是 1
。
提示和注释
•
如果其中一个字符串超过 255 个字符,levenshtein()
函数返回 -1
。
•levenshtein()
函数对大小写不敏感。
•levenshtein()
函数比 similar_text() 函数更快。不过,similar_text() 函数提供需要更少修改
的更精确的结果。
例子
代码如下:
<?php
echo
levenshtein("Hello World","ello World");
echo
"<br />";
echo
levenshtein("Hello World","ello World",10,20,30);
?>
输出: 1 30