使用MySQL和/或PHP在另一个字符串中查找可能的子字符串的最佳方法是什么?
我有脚本通过我的电子邮件列表,并使用PHP根据我计算的优先级对其进行评分,分类和显示。棘手的部分是我在我需要检查的数据库中有一个主题列表,我希望将电子邮件主题中的主题与我的“主题”表相匹配。
为了保持简单,让我们说主题是“LAST REMINDER FOR 2012 FIRST QUARTER DRAWS (OFFICIAL RELEASE).
”,在我的数据库中我有一个匹配的主题“first quarter draws
”。找到这条记录的最佳方法是什么?
这是否有MySQL功能;或者你会怎么做?我只能想到手动将主题行拆分为单词并对每个单词运行查询,然后按最多匹配的id排序;但对我来说似乎相当复杂,应该有一个更好的解决方案,或者已经用MySQL函数解决的东西。
我已经在这里查看了“类似标题的问题”标题,但这对我没有帮助,因为他们认为我的子字符串是已知的。
答案 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;