微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按顺序比较两个句子

如何解决按顺序比较两个句子

场景是有一个给定的句子。用户必须在某个输入字段中输入句子,然后将其保存到数据库中。 现在,我想比较这两个句子并找出用户输入正确和错误的单词(错过任何单词,或因输入错误添加了一些新单词)。 现在我做了这样的事情-

$Str1 = "i **am** suraj roy i **am** having my lunch";
$Str2 = "i suraj roy i **am** having my dinner";

$st1 = (explode(" ",$Str1));
$st2 = (explode(" ",$Str2));

$result1 = array_diff($st1,$st2);
$result2 = array_diff($st2,$st1);

$word_count1 = count($result1); // words not present in typed sentence from original sentence - lunch
$word_count2 = count($result2); // newly added words in typed sentence - dinner

$total_error_count = $word_count1 + $word_count2;

echo 'Total words not matching between two sentences - '.$total_error_count;

在这按我的预期工作。不错。

但问题是,看看两个句子中的 am 这个词,因为比较是在数组之间进行的,它在输入的句子中单次出现 am对于原始句子中am的所有出现。因此,在输入的句子中,am 没有丢失的字数。

所以,任何帮助将不胜感激。谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。