清理文字? “甲壳虫乐队”到“甲壳虫乐队”

时间:2012-04-14 16:52:53

标签: php mysql .htaccess

我正在使用各种乐队的歌词在网站上工作,就像Lyrics.com一样。我现在拥有的是一个页面,它回显了乐队的名字,歌曲的标题和文本本身来自数据库。我想对此进行适当的分类。

以“甲壳虫乐队”为例,“永远的草莓园”。

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

  • 乐队的名字是The Beatles但是“The”应该被删除。我该怎么做?在数据库authorauthour-clean中创建两列将有很多工作。

另外,我的网址目前是: example.com/lyrics.php?id=1 。我希望这看起来像example.com/b/beatles/strawberry-fields-forever。从谷歌搜索我明白这可以用.htacces完成吗?我的数据库现在是否正确设计?这就像ATM:

(darn,cant post images - 这里是纯文本)

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

我在想我需要另一个专栏,例如category并且对于此示例,值b(如披头士乐队)更容易列出以B开头的所有乐队,并确保htaccess是可能的?

3 个答案:

答案 0 :(得分:2)

  
      
  • 乐队的名字是The Beatles但是“The”应该被删除。我该怎么做?在数据库authorauthour-clean中创建两列将有很多工作。
  •   

虽然这看起来似乎是更初始的工作,但实际上你会发现它是一种解决方案,从长远来看,它需要的工作量更少。

如果您要根据应该如何搜索来对作者进行预索引,那么您可以让SQL在返回结果时为您完成所有工作。

将数据正确存储在数据库中总是优先于在拉出数据时进行复杂处理(一遍又一遍)。空间比处理能力便宜很多,更不用说从长远来看这将会有多快。

答案 1 :(得分:1)

有几种方法可以完成第一个目标。最好的方法是像Trendee建议的preg_replace,甚至将字符串分成数组然后搜索你想要替换的单词的实例。阵列版本很酷,因为你可以很容易地改变它周围的东西。

至于第二个目标,你正在看mod_rewrite。发生的事情是当你转到你的url example.com/b/beatles/strawberry-fields-forever时,你会有一个重写规则,说“对待每个/好像它是查询字符串的一部分”而你定义每个人是什么。所以实际上,你的网址是:

类别= B和带=披&安培;歌曲=草莓场-永远。

tons of examples如何做到这一点

答案 2 :(得分:0)