页面.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/