【问题标题】:Include one and the same html on many pages [closed]在许多页面上包含一个相同的 html [关闭]
【发布时间】:2016-04-13 14:17:02
【问题描述】:

我在很多页面上都有这个 html 文本

<head>
<meta charset="utf-8" name="viewport" content="width=device-width, height=device-height minimum-scale=1, maximum-scale=1">
<title>Account</title>
<link href="css/Master.css" rel="stylesheet"/>
    <link rel='stylesheet' media='screen and (max-width: 450px)' href='css/narrow.css' />
    <link rel='stylesheet' media='screen and (min-width: 451px) and (max-width: 800)' href='css/medium.css' />
    <link rel='stylesheet' media='screen and (min-width: 801px)' href='css/wide.css' />
</head>

问题是我想在许多页面上使用相同的代码,而不必复制和粘贴,比如说 5 个页面。有没有一种聪明的方法可以为此使用“包含”命令?

【问题讨论】:

  • 你只会使用普通的include(),没什么聪明的。您也可以使用include_once() 来非常干净。 php.net/manual/en/function.include.php 我可能会补充一点,除非 &lt;title&gt; 标记始终具有相同的值,否则可能会给包含的文件一个 .php 扩展名并通过变量或常量驱动标题。

标签: php html css responsive-design include


【解决方案1】:

如果您使用的是 php,您可以创建一个新文件 page-element.php 并将您的内容粘贴到该文件中。

然后在你想使用这个元素的每个页面中都可以使用

<?php
include_once "page-element.php";

【讨论】:

    【解决方案2】:

    你可以用这个写一个文件:

    带有库的文件

     <meta charset='utf-8' name='viewport' content='width=device-width, height=device-height minimum-scale=1, maximum-scale=1'>
     <title>Account</title>
     <link href='css/Master.css' rel='stylesheet'/>
     <link rel='stylesheet' media='screen and (max-width: 450px)' href='css/narrow.css' />
     <link rel='stylesheet' media='screen and (min-width: 451px) and (max-width: 800)' href='css/medium.css' />
     <link rel='stylesheet' media='screen and (min-width: 801px)' href='css/wide.css' />
    

    HTML

    <head>
      <?php include("file_with_libs.php"); ?>
    </head>
    

    但我建议你使用像 Twig 这样的模板引擎。您拥有所有信息:http://twig.sensiolabs.org/

    或者你可以看看我写的其他回复,解释如何使用Twig:Best practices to create a Twig HTML Layout (Masterpage)

    【讨论】:

    • HTML内容不包含任何PHP片段,所以可以避免使用&lt;?php echo...,直接放HTML。
    • echo 不需要。
    • 是真的,多亏你们俩,我变了
    • 还有 末尾的 ";" ;也不需要:)
    • @user5095266 Opss,放过大意吧!我现在改变了这个
    【解决方案3】:

    检查您的服务器是否配置为使用服务器端包含。这可能是一种无需 PHP 即可实现您想要的简单方法。

    我假设您使用的是 Apache,我接受这可能是不正确的,但 IIS 和 Ngnix 都提供 SSI 功能,尽管我不确定它们与 Apache 的相似程度。

    https://httpd.apache.org/docs/current/howto/ssi.html

    【讨论】:

      猜你喜欢
      • 2012-10-17
      • 1970-01-01
      • 2012-08-27
      • 2020-01-18
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多