更改动态标题

时间:2015-05-18 19:42:14

标签: php html css

我的标题中的标题会根据您使用此简单PHP代码的页面而改变。

<?php if(empty($title)) $title = "ASK REAL QUESTIONS, <br>GET FREE ANSWERS.";
echo $title; ?>

以下是一个标题为&#34;问题和答案的页面的示例&#34; ...标题会说&#34; QUESTIONS.ANSWERS&#34;而不是&#34;提出真正的问题,获得免费的答案。&#34;

<?php
$title = "QUESTIONS<br>.ANSWERS";
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/includes/header.php";
include_once($path); ?>

和$ title的CSS ..

    .title {
    margin: 0 auto;
    color: #fff;
    box-sizing: border-box;
    line-height: 24px;
    padding-top: 12px;
    font-size: 125%;
    position: absolute;
    text-shadow: 2px 2px 5px #313131;
    display: inline-block;
    text-align: center;
}

现在这就是我想要的......

它会说&#34; QUESTIONS.ANSWERS&#34; ..我希望QUESTIONS在CSS中声明的#fff颜色......但是我想要&#34; .ANSWERS&#34;要着色#39f ..我怎么能在PHP中声明这个?

我试过了......但是我遇到了语法错误。

<?php
    $title = "QUESTIONS<br><font color="#39f">.ANSWERS"</font>;
    $path = $_SERVER['DOCUMENT_ROOT'];
    $path .= "/includes/header.php";
    include_once($path);  
?>

谢谢! :)

2 个答案:

答案 0 :(得分:0)

您的代码无法正常工作,因为您在“字符真正结束之前”将字符串关闭。

试试这个(我将旧的已弃用标签“font”更改为“span”并将双引号替换为单引号):

<?php
    $title = "QUESTIONS<br><span style='color:#39f'>ANSWERS</span>";
    $path = $_SERVER['DOCUMENT_ROOT'];
    $path .= "/includes/header.php";
    include_once($path);  
?>

答案 1 :(得分:0)

PHP可以注入到css中。我如何做到这一点是让我的.css文件改为.php,并在我的css脚本前加上<style>标签。然后我会在$ title中,在问题和答案前面添加一个span标签,其中包含不同的id。然后我会进入我的新php文件并添加条件语句,以便在满足条件时动态更改文本的颜色。

例如:

我们在这两个单词的前面放置<span>个标签,并为其提供唯一的ID。这充当了css的具​​体参考点。

    <?php
     $title = "<span id='question'>QUESTIONS</span><br>.<span id='answer'>ANSWERS</span>";
     $path = $_SERVER['DOCUMENT_ROOT'];
     $path .= "/includes/header.php";
     include_once($path); 
    ?>

$ path是什么变化所以我们将使用它作为我们的条件。 (因为当我们想要改变风格时,这将会改变。

  我的标题中的

标题会根据您使用

的页面而改变

然后我们将title.css更改为titlecss.php。它现在看起来像这样。

  <style>   //need style tags now that it is .php document
    .title {
      margin: 0 auto;
      color: #fff;
      box-sizing: border-box;
      line-height: 24px;
      padding-top: 12px;
      font-size: 125%;
      position: absolute;
      text-shadow: 2px 2px 5px #313131;
      display: inline-block;
      text-align: center;
   }

//with the new id's we inject a php tag after `color:` that echoes the new color 
//based on the conditional statement we make (still in `titlecss.php`):

   #question {
     color: <?php 
               if $path === "(whatever $path would be for this style)"{
                  echo "color: #fff;" } 
             ?>
   }
   #answer { }  //same as #question
  </style>

现在,当$page符合我们的要求时,titlecss.php会动态更改文字的颜色。

header.php中,您需要使用include函数代替<link>才能将titlecss.php带到页面。