当前位置: 首页 > 知识库问答 >
问题:

PHP缓冲区将元描述和标题传递给站点头

海翼
2023-03-14

我试图改善我的搜索引擎优化,一种方法是包括一个描述标签,包含一个页面内容的描述,这可以显示在谷歌搜索结果。

我的问题是需要在站点头,但我查询我的数据库在站点主体,我不想要一个通用的元描述,我想要它动态更新依赖于当前页面。我的网站是一个相机比较网站,因此,例如,我将需要通过品牌名称,型号名称和一些规格,直到元。

当我希望页面标题包含产品名时,我也遇到了同样的问题,我使用了一个缓冲区来解决这个问题,允许我将模型名传递到标题。

header.php:

<title>%TITLE%</title>

compare.php

ob_start();
include_once 'includes/header.php'; 
$buffer_title=ob_get_contents();
buffer_title=str_replace("%TITLE%", "Specced | " . $brand['brand'] . " " . $model['model'] ,$buffer_title);
echo $buffer_title;
ob_end_clean();

我知道一个元标记不能在站点主体中,所以我的问题是,我希望能够传递元细节和标题细节到页面头使用我上面展示的对象方法。

header.php:

<title>%TITLE%</title>
<meta name="Description" content="%META%">

compare.php:

ob_start();
include_once 'includes/header.php'; 
$buffer_title=ob_get_contents();
buffer_title=str_replace("%TITLE%", "Specced | " . $brand['brand'] . " " . $model['model'] ,$buffer_title);
echo $buffer_title;
$buffer_meta=ob_get_contents();
buffer_meta=str_replace("%META%", "some dynamic meta description" ,$buffer_meta);
echo $buffer_meta;
ob_end_clean();

我很想知道如何使用obstart方法将meta和title的细节传递到头部。谢谢

共有1个答案

甄正信
2023-03-14

这是使用页眉和页脚的PHP脚本常见的设计问题。

<header>
<body>
<footer>

从技术上讲,您首先需要收集数据以便输出它。但是在现有的设计中,首先启动输出(缓冲或不缓冲),然后进行处理,然后意识到启动输出太早了:)

您可以将输出与处理分离,也就是说,您将主体转换为主体模板,并在前面进行处理。

[processing]

     |
     |
 variables
     |
    \|/

  <header>
  <body>
  <footer>

在程序中,输出操作通常排在最后(input->processing->output;IPO)。

 类似资料:
  • mainactivity.java MyWebPage.java

  • 我有一个壁纸网站在线,为了优化SEO,站长工具标记29个重复的元描述和标题标签。 每当我点击一个菜单或子菜单链接,例如,“计算机”,我希望标题,元描述,标题标签,关键字,以反映术语计算机更新。 一个重要的事实是,当我单击菜单时,数据被异步加载到content div上。 我想我应该在点击菜单项时开始更新Url,然后使用jquery更新标题和元数据,这会帮助改善搜索结果吗? 提前致谢 [更新]

  • 本文向大家介绍刷新PHP缓冲区为你的站点加速,包括了刷新PHP缓冲区为你的站点加速的使用技巧和注意事项,需要的朋友参考一下 在当前 PHP 版本的默认配置下,“输出缓冲(Output Buffering)”是被打开的。旧版本则不是这样,在旧版本的 PHP 中,字符串在每次被输出的时候(通过 echo 或 print 函数),都会触发一次发送到客户端浏览器的动作。 “输出缓冲”的引入,使得这一过程更

  • 问题内容: 我的Android项目需要帮助。我想将缓冲区从java传递到jni,而我的C 代码将填充数据。然后,java将它们显示在屏幕上。我对C 不太熟悉,也不知道如何编写写入缓冲区。 这就是我得到的。在java中 本机方法 我不使用jni_onload,所以在C ++中没有javah 我被 困在这里 ,我可以加倍 dbuf吗? 还是必须是char ? 让我说我要向该dbuf写1,2,3,4,5

  • 我有一个使用paramiko的缓冲区的问题,我在这里发现了同样的问题,其中一个解决方案指出: 如果您只是调用.open()来获取SFTPFile实例,而不是使用.get(),那么就对该对象调用.read(),或者只是将其交给Python标准库函数shutil.copyFileObj()来下载内容。这将避免Paramiko预取缓存,并且允许您下载文件,即使它没有那么快。 如果我有:

  • 问题内容: 我正在尝试使用节点child_process执行curl从本地网络中的共享文件夹中获取JSON文件(约220Ko)。但是它实际上返回了一个我无法解决的缓冲区问题。这是我的代码: 这是我得到的错误: 问题答案: 使用时,您需要使用并设置选项。从文档中: 指定在stdout或stderr上允许的最大数据量-如果超出此值,则终止子进程。 该文档还指出默认值为200KB。 例如,以下代码将最大