【问题标题】:Tagging text using tags stored in database [closed]使用存储在数据库中的标签标记文本[关闭]
【发布时间】:2013-12-18 18:08:37
【问题描述】:

在我的新 PHP 项目中,我将获得大量文本作为输入。

我的 mySQL 数据库中存储了数百个标签:

|  id   |       tag        |
+-------+------------------+
|   1   |       Halo       |
|   2   |       LIMBO      |
|   3   |    Super Mario   | 
|   3   | Metal Gear Solid |  <-- multiple words as single tag

输入在处理之前也存储在 mySQL 中。

如何检查这些标签的每个输入?使用explode(' 'strpos() ? LIKE '%TAG1%' OR LIKE '%TAG2%' ? ... 如何使用 PHP 和 mySQL 获得最大性能?

谢谢

附言

HTML 格式的输入怎么样?

【问题讨论】:

    标签: php mysql tagging


    【解决方案1】:

    对于最大重合将 FULLTEXT-index 设置为字段 tag。然后在查询中使用下一个设计:

        SELECT * FROM `tags`
        WHERE MATCH(tag) AGAINST (YOUR_INPUT_VALUE)
    

    阅读Full-Text Search Functions

    【讨论】:

    • 补充阅读正则表达式
    • @SamD 我或多或少都认识他们,他们在这里有什么帮助?喜欢strpos 方法?
    • @Webinan 正则表达式要强大得多。他们可以在数据库端进行大量文本操作和提取字符串。有关于这个主题的书。例如,您可以有一个标签“mysql-database”,您可以提取 mysql 和数据库并将它们与这些标签相关联
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多