比较PHP中的两个文本字符串

比较PHP中的两个文本字符串,php,Php,我想知道如何比较两个几乎相同的字符串,并输出另一个包含新值和旧值的字符串。它必须在文字上起作用。事实上,这正是您在编辑历史记录的页面上看到的内容 例如: $string1 = 'A very, very nice day today.'; $string2 = 'An almost nice day today'; $output = compare_strings($string1, $string2); 输出:“今天是非常非常好的一天。今天” 我知道有这个软件包,但我想知道如何手动完成。

我想知道如何比较两个几乎相同的字符串,并输出另一个包含新值和旧值的字符串。它必须在文字上起作用。事实上,这正是您在编辑历史记录的页面上看到的内容

例如:

$string1 = 'A very, very nice day today.';
$string2 = 'An almost nice day today';

$output = compare_strings($string1, $string2);
输出:“今天是非常非常好的一天。今天”

我知道有这个软件包,但我想知道如何手动完成。

我曾想过创建一个数组,每个单词有一个条目,然后比较它们,但我不知道如何比较最好的条目。

这确实需要一个算法,而且根据您的技能水平,可能非常困难或困难。在互联网上,diff算法有很多解释,我想建议你看看

好吧,这不是一项简单的任务,它需要更多的努力。我想你可能知道情感分析和语言学分析

是的,这是其中的一部分,这并不容易。虽然你可以为此编写程序,但它不能有100%的准确性

浏览此链接: 语言学分析:

对于情绪分析:

我的建议是:

进行语言学分析

B.非常简单的方法:编写一个程序,保留数组中的每个单词,然后比较两个数组并定义一些阈值(可能是70%),然后找出答案 相似与否


用积极和消极的词制定规则,然后映射你的句子

看一看:编辑:是的,重复;)-“这些算法非常丰富,而且有很好的文档记录。@SatishSharma-正如我在最后写的那样,我想了很久,但还是被字符串的比较性绊倒了。你的例子在文字方面不太管用。“非常非常”是三个字;“几乎”是2。所以你要做的事情很复杂。正如其他人所说,您需要了解具有悠久历史的diff算法。首先确定获取预期输出的规则。然后我们可以为它提供解决方案。