使用mysql在另一个字符串中查找可能的子字符串

时间:2012-04-02 03:39:02

标签: php mysql string

使用MySQL和/或PHP在另一个字符串中查找可能的子字符串的最佳方法是什么?

我有脚本通过我的电子邮件列表,并使用PHP根据我计算的优先级对其进行评分,分类和显示。棘手的部分是我在我需要检查的数据库中有一个主题列表,我希望将电子邮件主题中的主题与我的“主题”表相匹配。

为了保持简单,让我们说主题是“LAST REMINDER FOR 2012 FIRST QUARTER DRAWS (OFFICIAL RELEASE).”,在我的数据库中我有一个匹配的主题“first quarter draws”。找到这条记录的最佳方法是什么?

这是否有MySQL功能;或者你会怎么做?我只能想到手动将主题行拆分为单词并对每个单词运行查询,然后按最多匹配的id排序;但对我来说似乎相当复杂,应该有一个更好的解决方案,或者已经用MySQL函数解决的东西。

我已经在这里查看了“类似标题的问题”标题,但这对我没有帮助,因为他们认为我的子字符串是已知的。

2 个答案:

答案 0 :(得分:2)

类似的条件应该可以解决这个问题:

SELECT * FROM table WHERE field LIKE '%first quarter draws%'

答案 1 :(得分:-1)

试试这个:

if(substr_count( strtolower( $subject ), strtolower( $topic ) ) > 0){
 return true;
}
return false;