首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一个页面模板中设置动态标题,在body标记中嵌入不同的页面- PHP

如何在一个页面模板中设置动态标题,在body标记中嵌入不同的页面- PHP
EN

Stack Overflow用户
提问于 2017-08-03 23:18:49
回答 3查看 205关注 0票数 0

根据单页面模板结构,只有一个名为index.php的文件,它使用PHP函数include_once()在body标记中针对查询字符串$_GET['page']嵌入页面

代码语言:javascript
运行
复制
<?php $page = $_GET['page']; ?>
<html>
   <head>
      <title>
         <!-- title needs to update according to page here -->
      </title>
   </head>
   <body>
      <?php  require_once MC_ROOT.'/pages/'.$page.'.php'; // page content goes here like: <div> [CONTENT], <h1> [PRODUCT TITLE] </h1> </div> etc... ?>
   </body>
</html>

如何在每个页面之前的<title></title>标记中设置动态标题?页面应该是home, product, contact, about等。请建议任何最佳做法。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-03 23:57:06

您可以使用pars_url(此函数解析网址)

为了考试,如果你这样写的话

代码语言:javascript
运行
复制
$url = "http://www.ibm.com/product?id=1";
echo parse_url($url, PHP_URL_PATH);
////echo product /////

代码语言:javascript
运行
复制
$url = 'http://www.ibm.com/product/il.php?id=value';
$var  = parse_url($url, PHP_URL_PATH);
$var  = explode('/', $url);
echo $var[3];
///echo product////

代码语言:javascript
运行
复制
$url = 'http://www.ibm.com/aboutUs.php';
$var  = parse_url($url, PHP_URL_PATH);
$var  = explode('/', $url);
$var = str_replace(".php","",$var[3]);
echo $var;
///echo aboutUs////
票数 1
EN

Stack Overflow用户

发布于 2017-08-03 23:41:34

您可以包括标题-页面映射:

mapping.php

代码语言:javascript
运行
复制
$mapping = [
 'home' => 'Welcome on my homepage',
 'product' => ['242' => 'My fidget Spinner'] 
];

$title = '';
if(isset($_GET['page'])){
 if(isset($mapping[$_GET['page']])){
   $title = $mapping[$_GET['page']];
 }
}

if(isset($_GET['page']) && isset($_GET['id'])){
 if(isset($mapping[$_GET['page']][$_GET['id']])){
   $title = $mapping[$_GET['page']][$_GET['id']];
 }
}
票数 0
EN

Stack Overflow用户

发布于 2017-08-04 03:19:01

您应该使用ob_start:

代码语言:javascript
运行
复制
ob_start();
$header=MC_ROOT.'/pages/'.$page.'.php';
include($header);
$buffer=ob_get_contents();
ob_end_clean();

$buffer=str_replace("%TITLE%","NEW TITLE",$buffer);
echo $buffer;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45488386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档