超链接数据库内容

时间:2015-07-30 11:23:31

标签: php html mysql hyperlink

我正在建立一个数据库驱动的游戏粉丝,我希望能够超链接提及有自己页面的项目和其他单词。例如,假设这是一个页面。

  

项目名称

     

这是从数据库中提取的项目的描述。它可以与Item2和   第3项制作第4项。

我想将Item2,Item3和Item4超链接到各自的页面,以便用户可以更有效地浏览网站,而不必手动在搜索栏中输入每个名称。

我知道这可以通过在描述单元格中插入HTML并让浏览器输出来实现,但除了输出未经版权化的HTML的明显安全风险之外,对每个项目执行此操作也是非常繁琐的。当桌子充满了锚标签时,桌子可能看起来很丑陋。

尽管如此,我在其他网站上看到了这样的功能,我想知道实现这一目标的最安全和/或最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

像item.php一样创建文件。

if(isset($_GET['name']) && !empty($_GET['name'])) {

    $item_name = $_GET['name'];
    //Your code like fetching from database WHERE name LIKE $item_name
    //And also printing your description with the hyperlinks to the  actualy item from $_GET['name']

}

如果没有太多不同的项目,可以使用str_replace添加achors。这是一个例子。

<?php
$text = "This is a description of the item being pulled from the database. It can be combined with Item2 and Item3 to make Item4.";

$item_names = array("Item2", "Item3", "Item4");

foreach($item_names as $item_name) {
    $text = str_replace($item_name, "<a href='item.php?name=".$item_name."'>".$item_name."</a>", $text);
}

echo $text;
?>

$item_names必须是包含所有项目名称的数组。

和超链接一样:

  

这是从数据库中提取的项目的描述。它可以&gt;与Item2(item.php?name = item2)和Item3&gt;(item.php?name = item3)组合成Item4(item.php?name = item4).`