首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基本PHP搜索(引擎)脚本

基本PHP搜索(引擎)脚本
EN

Stack Overflow用户
提问于 2012-06-08 02:34:50
回答 3查看 467关注 0票数 0

我的PHP脚本需要检查整个数据数组中的匹配项。它目前正在寻找精确的字符串匹配。我希望它不那么严格。

例如,如果数组包含字符串"Tom and Jery“,我想返回true:"Tom曾傑瑞”,"Tom &曾傑瑞“,甚至"Tom and Jery”。我找到了PHP搜索引擎的链接,它们更复杂,并不是我真正需要的。我的数据非常小,而且是动态的,所以没有索引。

我知道我可以写一个长长的正则表达式,但我非常确定我会重新发明轮子,因为我相信其他人已经这样做了。任何关于在哪里寻找或如何处理这一点的建议都将不胜感激。

编辑:为了清楚起见,我尽量避免将所有动态生成的数据输入到数据库中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-08 03:27:12

我刚刚发现了两个函数,它们似乎可以做我想做的事情:

similar_text()

levenshtein()

这两个字符串似乎都返回一个表示两个字符串之间匹配的“紧密程度”的intiger。这两者之间的区别是我无法理解的。

我的搜索得到了this S.O. question的帮助。

票数 0
EN

Stack Overflow用户

发布于 2012-06-08 02:36:27

如果数据是MySQL格式的,您可以使用full text search。这很容易开发;问题是:这会不会是一个太重的解决方案?

票数 1
EN

Stack Overflow用户

发布于 2012-06-08 03:04:16

它可能需要一些试验和错误,但您可以这样做:

手动列出可能缺少的单词列表,如‘’,' in ',' of‘等(例如在字符串和搜索查询之间的中。如果它很低(可能最多一个或两个),则返回true.

  • Otherwise,,返回false。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10937795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档