【问题标题】:PHP should be inside HTML but its actually notPHP 应该在 HTML 中,但实际上不是
【发布时间】:2021-06-15 16:37:05
【问题描述】:

我不习惯 PHP,但经过一番研究后,我找到了以下在 HTML 中输出 PHP 变量的方法(在我的例子中,它是一个 h1 元素)

if($current_month != $old_date) {
    $test = the_date( 'F' );
    echo '<h1>'.$test.'</h1>';

不幸的是,当我查看即将发布的 html 源代码时,它看起来像这样:

TEST <"h1"> <"/h1"> 

所以“TEST”应该在我的 h1 元素内,但它实际上在外面。

任何人对我做错了什么有解释或想法?

谢谢

【问题讨论】:

  • the_date 方法返回什么?根据您对问题的描述,人们可能会认为它返回的是TEST,而不是方法名称所暗示的日期。为方便起见,您不需要转义引号来回显 var - "&lt;h1&gt;$test&lt;/h1&gt;" 应该这样做或 printf('&lt;h1&gt;%s&lt;/h1&gt;',$test);
  • 实际上,the_date() 看起来像是在呼应 TEST 并返回 NOTHING,除了这并不能解释为什么 h1/h1 被双引号括起来。

标签: php html wordpress


【解决方案1】:

如果您查看parametersthe_date 通常会立即回显日期,除非您另有说明。因此,您需要传入所有参数,并将 echo 作为 false 传递。

 $test = the_date( 'F', '', '', false );

【讨论】:

    【解决方案2】:

    您好,您必须首先关闭您的 if } 然后执行此操作 我想也许你

      if($current_month != $old_date) {
        $test = date( 'F' );
        echo '<h1>'.$test.'</h1>';
    }
    

    【讨论】:

    • 当然你是对的,我已经这样做了,但它没有包含在我的复制和粘贴中……如果我忘记了关闭,它根本不会编译……但是对于这本书,你是对的
    【解决方案3】:

    试试这个:

    if ($current_month != $old_date) {
        $test = the_date( 'F' );
        echo "<h1>$test</h1>";
    }
    

    或者

    if($current_month != $old_date) {
        $test = the_date( 'F' ); ?>
        <h1><?php echo $test; ?></h1>
    <?php }
    

    【讨论】:

    • 老实说,我不知道为什么人们不赞成你,因为这也是一个很好的方法,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2023-03-12
    • 1970-01-01
    • 2021-03-21
    相关资源
    最近更新 更多