我怎样才能生成由两个以上字母组成的单词的所有错误变体?
How can I generate all the wrong variants of words consisting of more than two letters?
有一个数组,里面有很多万字。并且您需要创建一个关联数组,其中包含所有这些单词的错误变体,并将该单词的正确版本作为键传递。并且单词的错误变体一定不能与数组中的正确单词重合。而且所有错误的单词变体也不应该彼此重合。所有这些生成的不正确的单词变体我都需要更正不正确的西里尔字母(不是俄语单词也不是英语单词)。例如,以词 "apple" 和 "lost" 为例。
包含正确单词的数组,用于创建不正确的变体这个单词:
<?php
$correct_words = array(
"apple",
"lost",
"lot",
"microsoft"
);
?>
我希望结果是这样的:
<?php
$incorrect_variant_words = array(
"aple"=>"apple",
"lst"=>"lost",
"lt"=>"lot",
"microsot"=>"microsoft",
"microsft"=>"microsoft",
"microoft"=>"microsoft",
"micrsoft"=>"microsoft",
"micosoft"=>"microsoft",
"mirosoft"=>"microsoft",
"mcrosoft"=>"microsoft"
);
?>
我要纠正不正确的词。提供建议或有解决此任务的方法,请告诉我。例如在 Google 翻译器中实现了这样的功能。如何在没有 Pspell 的 php 扩展的情况下解决这个问题。请帮助我解决如此困难的任务。为了用作正确的词,我还添加了一组具有正确值的词。
<?php
$array = array(
"миёнаҳои",
"луғатҳои",
"онандроҷ",
"ганҷинаи",
"ҷамъиятӣ",
"иҷтимоии",
"муҳаммад",
"рӯзмарра",
"ҳамзабон",
"забонҳои",
"ҳамчунин",
"фарҳанге",
"феҳристи",
"зардуштӣ",
"таркибҳо",
"ибораҳои",
"калимаҳо",
"фарҳанги",
"тобишҳои",
"намунаҳо",
"нусхаҳои",
"фирдавсӣ",
"ҳуруфоти",
"мутобиқи",
"тақрибан",
"алоҳидаи",
"тоисломӣ",
"паҳлавик",
"классикӣ",
"мӯътабар",
"қадамҳои",
"баргаҳои"
);
?>
提前致谢
使用similar_text
遍历正确单词数组并将它们与输入值进行比较。 Return 匹配率最高的单词。基本概念:
$correct_words = array(
"apple",
"lost",
"lot",
"microsoft"
);
$input = 'lst';
$match = 0;
foreach ($correct_words as $correct) {
similar_text($correct, $input, $percent);
if ($percent > $match) {
$result = $correct;
$match = $percent;
}
}
echo $result;
输出丢失
编辑以添加查询结果
$correct_words = array(
"тоҷик",
"тоҷикӣ",
"тоҷики"
);
$input = array("тоҷикӣ", "тоҷики", "точик", "точикӣ", "точики", "тоики", "тоикӣ", "тоҷӣкӣ", "тҷикӣ", "тчики", "тҷӣкӣ", "тчик");
foreach ($input as $in) {
$match = 0;
foreach ($correct_words as $correct) {
similar_text($correct, $in, $percent);
if ($percent > $match) {
$result = $correct;
$match = $percent;
}
}
echo "$in is corrected to $result\r\n";
}
结果是:
тоҷикӣ is corrected to тоҷикӣ
тоҷики is corrected to тоҷики
точик is corrected to тоҷик
точикӣ is corrected to тоҷикӣ
точики is corrected to тоҷики
тоики is corrected to тоҷики
тоикӣ is corrected to тоҷикӣ
тоҷӣкӣ is corrected to тоҷикӣ
тҷикӣ is corrected to тоҷикӣ
тчики is corrected to тоҷики
тҷӣкӣ is corrected to тоҷикӣ
тчик is corrected to тоҷик
有一个数组,里面有很多万字。并且您需要创建一个关联数组,其中包含所有这些单词的错误变体,并将该单词的正确版本作为键传递。并且单词的错误变体一定不能与数组中的正确单词重合。而且所有错误的单词变体也不应该彼此重合。所有这些生成的不正确的单词变体我都需要更正不正确的西里尔字母(不是俄语单词也不是英语单词)。例如,以词 "apple" 和 "lost" 为例。 包含正确单词的数组,用于创建不正确的变体这个单词:
<?php
$correct_words = array(
"apple",
"lost",
"lot",
"microsoft"
);
?>
我希望结果是这样的:
<?php
$incorrect_variant_words = array(
"aple"=>"apple",
"lst"=>"lost",
"lt"=>"lot",
"microsot"=>"microsoft",
"microsft"=>"microsoft",
"microoft"=>"microsoft",
"micrsoft"=>"microsoft",
"micosoft"=>"microsoft",
"mirosoft"=>"microsoft",
"mcrosoft"=>"microsoft"
);
?>
我要纠正不正确的词。提供建议或有解决此任务的方法,请告诉我。例如在 Google 翻译器中实现了这样的功能。如何在没有 Pspell 的 php 扩展的情况下解决这个问题。请帮助我解决如此困难的任务。为了用作正确的词,我还添加了一组具有正确值的词。
<?php
$array = array(
"миёнаҳои",
"луғатҳои",
"онандроҷ",
"ганҷинаи",
"ҷамъиятӣ",
"иҷтимоии",
"муҳаммад",
"рӯзмарра",
"ҳамзабон",
"забонҳои",
"ҳамчунин",
"фарҳанге",
"феҳристи",
"зардуштӣ",
"таркибҳо",
"ибораҳои",
"калимаҳо",
"фарҳанги",
"тобишҳои",
"намунаҳо",
"нусхаҳои",
"фирдавсӣ",
"ҳуруфоти",
"мутобиқи",
"тақрибан",
"алоҳидаи",
"тоисломӣ",
"паҳлавик",
"классикӣ",
"мӯътабар",
"қадамҳои",
"баргаҳои"
);
?>
提前致谢
使用similar_text
遍历正确单词数组并将它们与输入值进行比较。 Return 匹配率最高的单词。基本概念:
$correct_words = array(
"apple",
"lost",
"lot",
"microsoft"
);
$input = 'lst';
$match = 0;
foreach ($correct_words as $correct) {
similar_text($correct, $input, $percent);
if ($percent > $match) {
$result = $correct;
$match = $percent;
}
}
echo $result;
输出丢失
编辑以添加查询结果
$correct_words = array(
"тоҷик",
"тоҷикӣ",
"тоҷики"
);
$input = array("тоҷикӣ", "тоҷики", "точик", "точикӣ", "точики", "тоики", "тоикӣ", "тоҷӣкӣ", "тҷикӣ", "тчики", "тҷӣкӣ", "тчик");
foreach ($input as $in) {
$match = 0;
foreach ($correct_words as $correct) {
similar_text($correct, $in, $percent);
if ($percent > $match) {
$result = $correct;
$match = $percent;
}
}
echo "$in is corrected to $result\r\n";
}
结果是:
тоҷикӣ is corrected to тоҷикӣ
тоҷики is corrected to тоҷики
точик is corrected to тоҷик
точикӣ is corrected to тоҷикӣ
точики is corrected to тоҷики
тоики is corrected to тоҷики
тоикӣ is corrected to тоҷикӣ
тоҷӣкӣ is corrected to тоҷикӣ
тҷикӣ is corrected to тоҷикӣ
тчики is corrected to тоҷики
тҷӣкӣ is corrected to тоҷикӣ
тчик is corrected to тоҷик