我正在研究自己的php项目广告学习php,我试图通过页面名称来添加正文,如:
<body class='homepage'><!-- for index.php -->
<body class='single-post'><!-- for posts.php -->
我的代码:
<?php include "header.php";?>
<?php include "post.php";?>
<?php include "footer.php";?>
更新
我尝试了自己的工作
<?php
$classone = $_SERVER['REQUEST_URI'];
if(strpos($classone, 'index') != false){
echo "<body class='homepage'>";
}else{
echo "<body>";
}
?>
但是我希望如果有任何关于php的功能可以做的工作或更好的方法来做到这一点
答案 0 :(得分:0)
有点模糊的问题,但我想我明白了被问到的问题。 页面名称已从请求中提取,并通过查找表运行,以获取正文所需的类名称。
可以使用PHP_SELF索引在$ _SERVER数组中找到页面文件名,因此使用pathinfo
函数可以轻松提取名称。
$page_name = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME);
接下来,需要一个查找表,将$page_name
转换为css类名。我强烈反对这种做法,因为它可能导致混淆。最好保持类和页面名称彼此一致,以获得更好的可维护性和更脆弱的产品。
如果你有新的PHP(&gt; = 5.4)(你应该使用更新的版本):
$class_lookup_table = [
'index' => 'homepage',
'posts' => 'single-post'
];
如果你有旧的PHP(&lt; 5.4)
$class_lookup_table = array(
'index' => 'homepage',
'posts' => 'single-post'
);
现在您可以在HTML
中引用类名<body class="<?php $class_lookup_table[$page_name] ?>">