首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于URL生成动态元标记

基于URL生成动态元标记
EN

Stack Overflow用户
提问于 2012-05-21 17:16:41
回答 1查看 23.4K关注 0票数 3

我试图为每个页面分配动态的排它元标记:

即:url.com/index.php?action=signup

标题-注册标题

关键词-注册元关键字

描述-签名说明

url.com/index.php?action=about

标题-关于标题

关键词-关于元关键字

描述-关于描述

你明白重点了。

我使用的是arrays...but,还没有想到如何为每个页面分配每个数组。

CONF.PHP

代码语言:javascript
复制
<?php
$metas = array( 
'index.php' => array( 
'header' => 'Home Title', 
'keywords' => 'Home Meta Keywords', 
'description' => 'Home Meta Description' 
), 
'signup' => array( 
'header' => 'Signup Title', 
'keywords' => 'Signup Meta Keywords', 
'description' => 'Signup Meta Description' 
), 
'about' => array( 
'header' => 'About Title', 
'keywords' => 'About Meta Keywords', 
'description' => 'About Meta Description' 
) 
);
?>

INDEX.PHP

代码语言:javascript
复制
<TITLE><?php echo $metas['title']; ?></TITLE>
<meta name="description" content="<?php echo $metas['description']; ?>" >
<meta name="keywords" content="<?php echo $metas['keywords']; ?>" >

如何将这些值分配给每一页?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-21 17:56:46

你走在正确的轨道上:-)

这样做的方式如下:

代码语言:javascript
复制
<TITLE><?php echo $metas['index.php']['title']; ?></TITLE>

脚本名,您可以从$_SERVER超级全局数组/变量获得它。

另外,从您的config.php文件中删除最后3行,您不需要它们。

祝你好运,用PHP确保你对玩数组有很好的了解。那是钥匙。

编辑:

代码语言:javascript
复制
$page = 'index.php';
if ( isset( $_GET['action'] ) && $_GET['action'] != "" )
{
    $page = $_GET['action'];
}

<TITLE><?php echo $metas[$page]['title']; ?></TITLE>

编辑:(2012年5月27日)

我认为这几乎是一切:

config.php中的代码

代码语言:javascript
复制
<?php

$meta['INDEX']['title'] = "Home page";
$meta['INDEX']['keywords'] = "kwd1, kwd2, kwd3";
$meta['INDEX']['description'] = "Home description";

$meta['SIGNUP']['title'] = "Sign up..!";
$meta['SIGNUP']['keywords'] = "kwd1, kwd2, kwd3";
$meta['SIGNUP']['description'] = "Sign up description";

$meta['ABOUT']['title'] = "About Company";
$meta['ABOUT']['keywords'] = "kwd1, kwd2, kwd3";
$meta['ABOUT']['description'] = "About company description";

您在任何应用程序页/屏幕(.php文件)中的代码:

代码语言:javascript
复制
<?php

include "config.php";

// Choice 1: if you want to specify page hardcoded at each page then you can say $page = 'ABOUT' for about-us page and $page = 'INDEX' for home page etc.
$page = 'ABOUT';
if( strtoupper($_SERVER['REQUEST_URI'], $page) !== false )
{
    $title = $meta[$page]['title'];
    $keywords = $meta[$page]['keywords'];
    $description = $meta[$page]['description'];
}
// Now you have your meta - use it the way you want
echo $title;

// Choice 2: If you want to make it little more dynamic
// Here you don't need to define any hardcoded variable at page level as everything will be considered from the URL being requested
$page_index = array_keys($meta);

foreach($page_index as $page)
{

    if ( strpos( strtoupper($_SERVER['REQUEST_URI']), $page ) !== false)
    {
        $title = $meta[$page]['title'];
        $keywords = $meta[$page]['keywords'];
        $description = $meta[$page]['description'];
        break;
    }
}
// Now you have your meta - use it the way you want
echo $title;

?>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10689600

复制
相关文章

相似问题

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