有没有比ob_get_contents()更好的方法来更改标题和元标记;?

时间:2018-05-04 15:17:21

标签: php

我的网站有超过5000篇文章和100多个不同的“信息页面”。我总是从数据库中获取标题和其他信息,并在标题中放置一个查询,具体取决于用户所在的页面。但是......我现在每天有大约4.000次综合浏览量,这对数据库有很多“额外”的调用。

我现在试过这个:

位于index.php文件的顶部:

<?php
ob_start (); // Buffer output
?>
<head>
    <title>%TITLE%</title>
    <meta name="description" content="%META%">
</head>

在index.php文件的底部:

<?php
$pageContents = ob_get_contents (); // Get all the page's HTML into a string
ob_end_clean (); // Wipe the buffer

if(!isset($pageTitle)) {
    $pageTitle = "Default title";
}
if(!isset($pageMeta)) {
    $pageMeta = "Default meta description";
}

$healthy = ["%TITLE%","%META%"];
$yummy   = [$pageTitle, $pageMeta];

echo str_replace($healthy, $yummy, $pageContents);
?>

所有其他.php文件:

...
    $pageTitle = "Title of this exact php page";
    $pageMeta = "Meta of this exact php page";
...

我不知道为什么,但我觉得必须有一种更简单,更充分的方法。

谢谢。

0 个答案:

没有答案