我正在建立一个数据库驱动的游戏粉丝,我希望能够超链接提及有自己页面的项目和其他单词。例如,假设这是一个页面。
项目名称
这是从数据库中提取的项目的描述。它可以与Item2和 第3项制作第4项。
我想将Item2,Item3和Item4超链接到各自的页面,以便用户可以更有效地浏览网站,而不必手动在搜索栏中输入每个名称。
我知道这可以通过在描述单元格中插入HTML并让浏览器输出来实现,但除了输出未经版权化的HTML的明显安全风险之外,对每个项目执行此操作也是非常繁琐的。当桌子充满了锚标签时,桌子可能看起来很丑陋。
尽管如此,我在其他网站上看到了这样的功能,我想知道实现这一目标的最安全和/或最有效的方法是什么?
答案 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).`