逐个显示标签

时间:2011-07-21 19:50:43

标签: php tags

您好我的数据库中有一个名为tags的标签。它们以逗号分隔。

例如,它们以tag1,tag2,tag3的形式存储在数据库中。

我想从数据库中检索它们并逐个显示它们,在显示每个标记之前,我想将它链接到一个URL。

这是我到目前为止所做的事情,

$keywords = strip_tags($blog_query_results['keywords']); //Retrives the tags from the database

echo wordwrap(stripslashes($keywords), 65, "<br>",true); // this prints tag1,tag2, and so on.

打印时我想将tag1,tag2和tag3链接到不同的URL。

2 个答案:

答案 0 :(得分:2)

如果您有这样的字符串:

$tags = 'tag1,tag2,tag3';

您可以使用explode()函数获取标记数组:

$arr = explode(',', $tags);

然后,只需迭代该数组,为每个项目构建链接 - 通常使用foreach()

foreach ($arr as $t) {
    echo '<a href="...">' . htmlspecialchars($t, ENT_COMPAT, 'UTF-8') . '</a><br />';
}


作为旁注:如果您在一个字段中存储多个信息,那么您的数据库设计可能有点不对。

如果你有一个帖子的3个标签,你应该有3行(每个标签一个),或者:

  • tags表中,
  • 或在poststags表之间的联接表中。

答案 1 :(得分:0)

你可以这样做:

$tags = explode(',', $keywords);
foreach($tags as $tag)
{
    echo "<a href='...' >$tag</a>";
}

等...