我想建立一个标记系统,但我在这里有一个小diffuculty,如果有人可以帮助我会非常感激,无论如何,我只是试图查询数据库的标记在表格的数据库中插入一行,每个标签都用逗号分隔,以及我试图将每个标签取出并创建每个标签的链接。问题与PHP标记系统
一旦我查询数据库输出基本上看起来如下:
tag1, tag2, tag3, tag4, tag5, tag6
,我希望能够将它们分开。
我想建立一个标记系统,但我在这里有一个小diffuculty,如果有人可以帮助我会非常感激,无论如何,我只是试图查询数据库的标记在表格的数据库中插入一行,每个标签都用逗号分隔,以及我试图将每个标签取出并创建每个标签的链接。问题与PHP标记系统
一旦我查询数据库输出基本上看起来如下:
tag1, tag2, tag3, tag4, tag5, tag6
,我希望能够将它们分开。
如果你已经从数据库中逗号分隔值,您可以使用正则表达式打印出来的标签:
echo preg_replace("/([a-z]+)/", "<a href=\"#$1\">$1</a>", $str);
它只是通过搜索az单词并将它们转换为链接。
其他一些选项可以是:
谢谢你,这是非常有用的,你认为哪种方法更有效率,内化字符串,并使用循环或你提供的方式?看起来你已经列出的代码更少 – mcbeav 2011-03-16 03:18:46
这取决于你想要做什么。 Imploding一个字符串是程序员最容易理解的,如果没有太多标签,它不是非常耗费资源......然而,正则表达式可能(不确定)更节约资源,但我假设它是。 – 2011-03-16 03:23:14
感谢大家的指导,def,一些很好的信息! – mcbeav 2011-03-16 03:19:48
等待,所以这些标签是在一个小区不是一整排...除非您打印它们,否则这些逗号如何打印? – 2011-03-16 03:02:53
我想你不是在寻找一种方法来标记字符串: '$ tags = explode(“,”,“tag1,tag2,tag3,tag4,tag5,tag6”);'也许你应该清楚:[ 1]信息包含在db中的格式是什么? [2]你想要什么格式,以及在什么样的变量 – 2011-03-16 03:06:03
啊对不起,是的,它的存储方式与数据库中的完全相同,它的名字为“tags”。 – mcbeav 2011-03-16 03:12:29