Php 清理文本&引用;披头士乐队“;至;披头士乐队;

Php 清理文本&引用;披头士乐队“;至;披头士乐队;,php,mysql,.htaccess,Php,Mysql,.htaccess,我在网站上写着各种乐队的歌词,我想很像歌词网站。我现在看到的是一个页面,上面有乐队的名字、歌曲的标题以及数据库中的文字。我想适当地将其分类 以“披头士”乐队的“永远的草莓地”为例 我想把它归类为“B”和“披头士”。在Example.com/b/上列出每个以字母b开头的乐队。我的问题: 乐队的名字是披头士乐队,但“乐队”应该取消。我该怎么做?在数据库中创建两个列author和author clean,这将是一个很大的工作 此外,我的URL当前为: example.com/lyrs.php?id

我在网站上写着各种乐队的歌词,我想很像歌词网站。我现在看到的是一个页面,上面有乐队的名字、歌曲的标题以及数据库中的文字。我想适当地将其分类

以“披头士”乐队的“永远的草莓地”为例

我想把它归类为“B”和“披头士”。在
Example.com/b/
上列出每个以字母b开头的乐队。我的问题:

  • 乐队的名字是披头士乐队,但“乐队”应该取消。我该怎么做?在数据库中创建两个列
    author
    author clean
    ,这将是一个很大的工作
此外,我的URL当前为:
example.com/lyrs.php?id=1
。我希望它看起来像
example.com/b/beatles/草莓田永远
。通过谷歌搜索,我知道这可以用.htacces来完成?现在我的数据库设计是否正确?这就是它看起来的样子:

(该死,不能发布图像--这里是纯文本)


我想我需要另一个专栏,例如
category
,在这个例子中,这个值
b
(如甲壳虫乐队)可以更容易地列出所有以b开头的乐队,并确保htaccess是可能的?

我认为这可能有用。
我想这可能有用。
有几种方法可以实现第一个目标。最好的方法是像Trendee建议的那样进行preg_替换,或者甚至将字符串分成一个数组,然后搜索要替换的单词的实例。数组版本很酷,因为你可以很容易地随意移动东西

至于第二个目标,您将看到mod_rewrite。现在发生的事情是,当你转到你的url example.com/b/beatles/草莓-fields-forever时,你会有一个重写规则,上面写着“将每个/当作它是查询字符串的一部分”并定义每个是什么。因此,实际上,您的url是:

类别=b&b乐队=披头士乐队和歌曲=永远的草莓田


关于如何做到这一点有很多方法

有几种方法可以实现第一个目标。最好的方法是像Trendee建议的那样进行preg_替换,或者甚至将字符串分成一个数组,然后搜索要替换的单词的实例。数组版本很酷,因为你可以很容易地随意移动东西

至于第二个目标,您将看到mod_rewrite。现在发生的事情是,当你转到你的url example.com/b/beatles/草莓-fields-forever时,你会有一个重写规则,上面写着“将每个/当作它是查询字符串的一部分”并定义每个是什么。因此,实际上,您的url是:

类别=b&b乐队=披头士乐队和歌曲=永远的草莓田

关于如何做到这一点,有很多方法

  • 乐队的名字是披头士乐队,但“乐队”应该取消。我该怎么做?在数据库中创建两个列
    author
    author clean
    ,这将是一个很大的工作
虽然这似乎是一个初始工作,但您会发现从长远来看,这是一个需要较少工作的解决方案

如果您要根据作者的搜索方式对其进行预索引,那么在返回结果时,您可以让SQL为您完成所有工作

在取出数据时,最好将数据正确地存储在数据库中,而不是反复进行复杂的处理。空间要比处理能力便宜得多,更不用说从长远来看这会快多少

  • 乐队的名字是披头士乐队,但“乐队”应该取消。我该怎么做?在数据库中创建两个列
    author
    author clean
    ,这将是一个很大的工作
虽然这似乎是一个初始工作,但您会发现从长远来看,这是一个需要较少工作的解决方案

如果您要根据作者的搜索方式对其进行预索引,那么在返回结果时,您可以让SQL为您完成所有工作

在取出数据时,最好将数据正确地存储在数据库中,而不是反复进行复杂的处理。空间要比处理能力便宜得多,更不用说从长远来看这会快多少

id (int10)
title (varchar255)
author (varchar255)
lyrics (text)