duan0821
duan0821
2011-08-16 06:38
浏览 43
已采纳

php if-statement不回显div类中的字符串?

Right now, the value of the variable $thumbs_number is +2.

When I place <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>"> right before the closing </div> I do get an output: high-rated.

but when I place it inside the div's class: <div class="topic-content <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>">.

nothing is output.

Any suggestions to fix this?

Full code:

    <div class="topic-content <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>">
        <span class="topic-author-link"><?php bbp_reply_author_link( array( 'type' => 'name' ) ); ?></span>
        <span class="topic-post-date"><?php printf( __( '<span>%1$s</span> <span>at %2$s</span>', 'bbpress' ), get_the_date(), esc_attr( get_the_time() ) ); ?></span>

<?php echo time_ago(); ?>
<br />
<?php echo "$post->post_modified 
"; ?>

        <?php bbp_reply_admin_links(); ?>

        <?php bbp_reply_content(); ?>

        <div class="topic-like-count">
            <h4><?php wp_gdsr_render_article_thumbs(); ?></h4>

            <?php preg_match( '!<div class="thumblock ">(.*)</div>!si' , wp_gdsr_render_article_thumbs(0, false, "", 0, "", false) , $n );
            $thumbs_number = strip_tags( $n[1] ); ?>

            <?php echo $thumbs_number; ?>

        </div>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • doushao5047
    doushao5047 2011-08-16 06:41
    已采纳

    The output is "nothing" because you have it in your HTML syntax. You should view the source to see what is has outputted.

    点赞 评论
  • doubi7306
    doubi7306 2011-08-16 07:36

    It seems like the space had to be placed in the echo instead of the HTML part:

    <div class="topic-content<?php if ( $thumbs_number == 2 ) { echo " high-rated"; } ?>">
    

    Now it is working.

    点赞 评论
  • dongmuyan5638
    dongmuyan5638 2014-08-12 15:28

    The problem is too much double quotes:

    <div class="topic-content<?php if ( $thumbs_number == 2 ) { echo " high-rated"; } ?>">
    

    You echo double quotes inside double quotes so it is invalid HTML.

    Update: Your fix with space is still invalid, just your browser can fix it better.

    点赞 评论

相关推荐