gpt4 book ai didi

php - 如何 "un-slug"标题 slug

转载 作者:可可西里 更新时间:2023-11-01 00:37:53 25 4
gpt4 key购买 nike

我正在创建一个需要 slug 系统的系统。例如,标题为“博客标题:此处”的博客文章的 URL 为:

YYYY/MM/DD/the-blog-title-here

我的系统设置得很好,如果您的 URL 匹配多个条目,它会显示所有匹配条目的摘要,如果它只匹配一个条目,它会显示完整的条目,依此类推。我遇到的唯一麻烦是标题的“unslugging”。目前,我只考虑第一个词:我的 SQL 查询这样结束:

'AND subject LIKE '.$this->db->escape(substr($title,0,strpos($title,'-')).'%')

麻烦的是,如果同一天发布的两篇文章以同一个词开头,则永远无法匹配单个条目。此外,如果一个帖子以单词“A”开头,而同一天发布的另一个帖子以字母 A 开头,则永远无法单独匹配前一个帖子。

我最初的想法是尝试用 LIKE %word% 来匹配 slug 中的 every 单词,虽然这样更好,但看起来有点老套,但仍然不是完美(“A slug: troublesome!”和“A troubleshole slug”会发生冲突)。这个问题有没有优雅的解决方案?

最佳答案

为什么不在表中创建一个“slug”字段并仅匹配它呢?将 slug 存储在那里,就像它在 url 中显示的那样,并进行精确匹配。应该可以解决你的问题。同样,在数据库中输入 slug 时,检查是否存在类似的 slug,如果存在,则在末尾添加一个数字。例如“我的帖子”、“我的帖子 1”。

因此这将涉及在插入时进行一些计算,但应该可以解决您的精确匹配问题。

关于php - 如何 "un-slug"标题 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3688518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com