用 PHP 编写 Head 部分

Posted

技术标签:

【中文标题】用 PHP 编写 Head 部分【英文标题】:Writing Head section with PHP 【发布时间】:2014-11-19 06:53:55 【问题描述】:

我正在为动态元素将几个站点从 html 转换为 php,并且已经能够使用页眉和页脚(使用 php include())来实现。但是,我对如何做头部感到困惑。这就是我使用纯 HTML 所拥有的:

<head>
  <!--[if lt IE 9]>
  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
  </script>
  <![endif]-->
  <meta charset="UTF-8" />
  <meta name="description" content="Liberty Resource Directory. The ultimate curated directory to find what you need."/>
  <meta name="keywords" content="ethan glover, lrd, liberty resource directory"/>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link href="stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
  <title>Liberty Resource Directory</title>
</head>

我可以轻松添加 HTML5Shim 脚本、元字符集、视口(是的,我将删除最大比例)和样式表链接。

问题出在这里:

如何编写 .php 文件,以便将单个页面描述、关键字和标题传递给它? (这样我可以把上面的整个代码放在一个 php 文件中,然后在每个页面上都包含它。)

还是我只需要排除描述、关键字和标题,然后每次都重写这些部分?

答案如下:(由 Alejandro Arbiza 提供)

head.php

<head>
  <!--[if lt IE 9]>
  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
  </script>
  <![endif]-->
  <meta charset="UTF-8" />
  <meta name="description" content="<?php echo $description;?>"/>
  <meta name="keywords" content="<?php echo $keywords;?>"/>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="../stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
  <title><?php echo $title;?></title>
</head>

index.html(包括上面的代码)

<?php
    $description="Liberty Resource Directory. The ultimate curated directory to find what you need.";
    $keywords="ethan glover, lrd, liberty resource directory";
    $title="Liberty Resource Directory";
    include 'scripts/head.php';
?>

最终结果:

http://libertyresourcedirectory.com/

【问题讨论】:

您可以在&lt;head&gt;&lt;?php include 'file.php'; ?&gt;&lt;/head&gt; 中使用include - 至于单个页面描述等,将需要更多编码,恐怕。改用框架;会更容易。 发布您的 php 代码。你在使用任何框架或简单的 php 吗? 【参考方案1】:

您可以将变量用于描述和关键字(或您想要的任何其他内容)。然后,当需要构建页面时,您只需将变量设置为相应的值。

<head>
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
    </script>
    <![endif]-->
    <meta charset="UTF-8" />
    <meta name="description" content="<?php echo $description; ?>"/>
    <meta name="keywords" content="<?php echo $keywords; ?>"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link href="stylesheets/lrdstylesheet.css" rel="stylesheet" media="screen">
    <title>Liberty Resource Directory</title>
</head>

所以,假设你有 page1.php 和 page2.php:

<?php
// page1.php
$description = "This is page one";
$keywords = "page one";
include 'header.php';
?>

<!-- Page content --> 

<?php include 'footer.php'; ?>

<?php
// page2.php
$description = "This is page two";
$keywords = "page two";
include 'header.php';
?>

<!-- Page content --> 

<?php include 'footer.php'; ?>

当然,我在这里假设整个 HTML 标头都在 header.php 文件中,即包括 &lt;html&gt;&lt;head&gt;&lt;body&gt;

【讨论】:

太棒了!当然,您也可以在页面内容中使用 PHP,就像在 标记中一样。

以上是关于用 PHP 编写 Head 部分的主要内容,如果未能解决你的问题,请参考以下文章

查找哪部分php代码处理高[重复]

如何将 DOM 元素脚本添加到 head 部分?

如何查看head部分的内容

PHP面向对象所学部分

PHP中的<script>部分的值怎么传递出来呢?

如何在 PHP 中对这个线性链表使用 unset()