php - 包含 header.php 后如何更改页面标题?

标签 php title

页面.php:

<?php
include("header.php");
$title = "TITLE";
?>

标题.php:

<title><?php echo $title; ?></title>

我希望在包含头文件之后设置我的标题。可以这样做吗?

最佳答案

扩展 Dainis Abols 的答案以及您关于输出处理的问题,

考虑以下因素:

您的 header.php 的标题标记设置为 <title>%TITLE%</title> ; “%”很重要,因为几乎没有人输入 %TITLE%,因此您可以稍后将其用于 str_replace()。

然后,您可以使用output buffer像这样

<?php
    ob_start();
    include("header.php");
    $buffer=ob_get_contents();
    ob_end_clean();

    $buffer=str_replace("%TITLE%","NEW TITLE",$buffer);
    echo $buffer;
?>

这样就可以了。

编辑

我相信Guy's idea效果更好,因为它会在需要时为您提供默认值,IE:

  • 标题现在是 <title>Backup Title</title>
  • 现在的代码是:
<?php
    ob_start();
    include("header.php");
    $buffer=ob_get_contents();
    ob_end_clean();

    $title = "page title";
    $buffer = preg_replace('/(<title>)(.*?)(<\/title>)/i', '$1' . $title . '$3', $buffer);

    echo $buffer;
?>

关于php - 包含 header.php 后如何更改页面标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009227/

相关文章:

PHP + XPath 获取指定日期之间的节点值

android - 布局和应用程序标题之间的填充不同

uitableview - 从选定行获取导航栏标题

php - 我想要在 PHP 中使用 header() 的自定义 < title >

android - 如何在 ListView 中显示专辑封面、歌曲名称、持续时间和艺术家姓名

PHP-fputcsv : put JSON values retrieved from MySQL field in separate columns

php - 无法通过 SQL 数据库在 PHP 中订购?

php - WooCommerce:管理员中的动态自定义结帐字段

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

iphone - objective-c 中导航栏标题中的图像