没有数据库的PHP Tag系统(纯文本文件)

我想在我的网站上实施标签系统.该网站使用PHP制作,但未使用任何数据库(sql)系统.它从纯文本文件中读取文件并将其包括在内.

页面位于文件中,如果请求读取页面,则读取该文件,如果页面位于该页面中,则站点将其返回.如果页面不在该页面中,则会给出错误(因此,没有路径遍历问题,我可以让页面“ blablabla”转到“ other-page.inc.php”).

页面列表是一个大写的语句,如下所示:

case "faq":
$s_inc_page= $s_contentdir .  "static/faq.php";
$s_pagetitle="FAQ";
$s_pagetype="none";
break;

($s_pageype用于CSS主题).

我想要的是这样的:

case "article-about-cars":
$s_inc_page= $s_contentdir .  "article/vehicles/about-cars.php";
$s_pagetitle="Article about Cars";
$s_pagetype="article";
$s_tags=array("car","mercedes","volvo","gmc");
break;

然后一个带有标签作为获取变量的标签页,检查哪些情况在$s_tag数组中具有该标签,然后返回这些情况.

这是可能的,还是我的方向错误?

解决方法:

我可以通过将页面详细信息保留在一个数组中来做到这一点,例如:

$pages['faq']['s_inc_page'] = $s_contentdir .  "static/faq.php";
$pages['faq']['s_pagetitle'] = "FAQ";
$pages['faq']['s_pagetype'] = "none";
$pages['faq']['s_tags'] = array("car","mercedes","volvo","gmc");

然后,您可以使用foreach循环遍历此数组,并取出带有匹配标签的项目:

$tag = "car";

foreach($pages as $page) {
    if (in_array($tag, $page['s_tags'])) {
        //do whatever you want to do with the matches
        echo $page['s_pagetitle'];
    }   
}
上一篇:mysql-如何限制3个表之间的标签


下一篇:如何在PHP和SQL中将标签插入3表系统