动态地将元描述插入到php页面中

时间:2013-04-08 17:43:30

标签: php

好吧所以我创建了这个网站,并希望将其转换为php只是为了好玩。网站结构看起来像任何“正常”的网络结构。像这样: -

<html xmlns="http://www.w3.org/1999/xhtml">


 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

<body class="fish">
</body>
</html>

好的,所以我从head包含到header.php文件中body标签的开头。所以header.php看起来像这样: - `

 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

<body class="fish">`

现在这是问题所在。每个页面都应该拥有自己的titlebody类!每个页面显然也有自己的元描述和内容。我将如何成就这些家伙?我想到创建一个基于页面标题的元描述和主体类的函数。但有没有一种方法可以实现这一目标?感谢

3 个答案:

答案 0 :(得分:1)

使用模板引擎或MVC框架(例如CakePHP或CodeIgniter),其中已经包含模板引擎。

答案 1 :(得分:0)

在你的header.php内做这样的事情:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title><?php echo $_tpl['title'] ?></title>
    <meta name="description" content="<?php echo $_tpl['meta_desc'] ?>">
</head>

<body class="<?php echo $_tpl['body_class'] ?>">

在您的页面上,在使用include('header.php')之前,请按如下方式定义变量:

$_tpl = array();
$_tpl['title'] = 'My Title';
$_tpl['meta_desc'] = 'My meta description.';
$_tpl['body_class'] = 'fish';

正如其他人所说,不要重新发明轮子。您最好调查一些已经建立的PHP模板引擎:

答案 2 :(得分:0)

如果它是动态的,您应该创建一个模板来执行此操作。关于如何传递数据,你有很多选择,无论是数据库,对象,数组等。基于页面标题生成数据真的很难,除非你使用非常持久的格式来标题每页。

<head>
    <meta property="og:title" content="<?= $values['title'] ?>" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="<?= $values['url'] ?>" />
    <meta property="og:image" content="<?= $values['image'] ?>/>
    <meta property="og:site_name" content="<?= values['name'] ?>"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="ROBOTS" content="NOODP">
    <link rel="icon" type="image/png" href="<?= $values['image'] ?>" />
    <title><?= $values['title'] ?></title>
    <? if(isset($values['css'])) : ?>
    <? foreach($values['css'] as $css) : ?>
        <link href="/css<?= $css['data'] ?>" rel="stylesheet" type="text/css" />
    <? endforeach ?>
    <? endif ?>
    <? if(isset($values['js'])) : ?>
    <? foreach($values['js'] as $js) : ?>
        <script src="/js<?= $js['data'] ?>" type="text/javascript"></script>
    <? endforeach ?>
    <? endif ?>
</head>