PHP字符串不敏感的字数在2个字符串之间共同

时间:2016-06-07 23:03:05

标签: php string-comparison

我试图像这样在PHP中获取两段文字......

"A cat jumped over the hat"

"The mad hatter jumped over his cat"

得到这样的结果......

the
cat
jumped
over 

(即字符串之间的常用词,其中不包括帽子,因为它是第二个字符串中另一个词的一部分)

我找到了一堆例子来帮助计算另一个字符串中1个字符串的出现次数,但这最终会给我一个"帽子"问题所以我猜我需要将两个字符串标记为单词列表并以某种方式进行一对一比较。

努力想象一种实现这一目标的有效方法,尽管如此,对于正确的方法有什么想法。谢谢!

2 个答案:

答案 0 :(得分:1)

对于这个问题,我使用explode将每个字符串分隔成单词,然后为每个字符串创建一个数组,其中键是单词,值只是true。然后,您可以取一个数组,遍历其键,并检查它们是否存在于另一个数组中。

答案 1 :(得分:1)

这是一个使用

的单线程
<?php

$str1 = "A cat jumped over the hat";

$str2 = "The mad hatter jumped over his cat";

print_r(array_intersect(array_map("strtolower", explode(' ',$str1)), array_map("strtolower", explode(' ',$str2))));

此输出结果:

&#13;
&#13;
Array
(
    [1] => cat
    [2] => jumped
    [3] => over
    [4] => the
)
&#13;
&#13;
&#13;