【问题标题】:Can I remove <h2></h2><br> if no text in <h2></h2>?如果 <h2></h2> 中没有文字,我可以删除 <h2></h2><br> 吗?
【发布时间】:2015-09-18 21:05:40
【问题描述】:

这是我正在修改的 php 代码,以在滑块上方显示标题和描述文本框。如果在滑块中设置了标题和描述,则效果很好,但在其他页面上我只想要图像 - 而是在读取 &lt;h2&gt;&lt;br&gt; 标签时显示一个空的“文本框”。

我是否可以让 if .$item['itemImageTitle'] & .$item['itemTitle'] empty 只显示图像,如果不是空的也显示框?

css

.nivo-caption h2 {
font-size: xx-large;
color: #fff;
}

.theme-default .nivo-caption {
    font-family: inherit;
    font-size: 16px;
    font-weight: bold;
    /* z-index: 20; */
    -moz-text-shadow: 1px 1px 0 #000;
    -webkit-text-shadow: 1px 1px 0 #000;
     text-shadow: 1px 1px 0 #000;
  position: absolute;
  left: 23px;
  bottom: 20px;
  background: rgba(58, 88, 129, 0.5);
  color: #fff;
  width: 95%;
  z-index: 8;
  padding: 5px 10px;
  opacity: 1;
  overflow: hidden;
  display: none;
  -moz-opacity: 1;
  filter: alpha(opacity=1);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

php

<div class="slider-wrapper <?php  echo "theme-".$theme_title;?>" id="<?php  echo "slider-wrapper-".$bID; ?>">
    <div id="<?php  echo "nivo-slider-".$bID; ?>" class="nivoSlider" style="width: 100% !important;">
    <?php   
    foreach($items as $item) { 
        echo (strlen($item['itemUrl'])>1) ? '<a href="'.$item['itemUrl'].'">' : '';
        echo '<img src="'.$item['itemImageSrc'].'" alt="'.$item['itemImageAlt'].'" title="<h2>'.$item['itemTitle'].'</h2><br>'.$item['itemImageTitle'].'" data-thumb="'.$item['itemImageSrc'].'" >';
        echo (strlen($item['itemUrl'])>1) ? '</a>' : '';
    } 
    ?>

    </div>

</div>

【问题讨论】:

  • 你能检查一下$item['itemTitle']是空还是空?
  • 你真的可以把 HTML 标记放在 title 属性中吗?我以前从未见过这个......它有效吗?
  • 为什么H2里面有H2?
  • 不确定它是否有效或良好的形式,但它可以按预期工作。我知道会有更好的方法,但我是 php 新手,它的细微差别

标签: php html css nivo-slider


【解决方案1】:

正如你所说的if .$item['itemImageTitle'] &amp; .$item['itemTitle'] empty show just the image。你可以试试这个

<div class="slider-wrapper <?php  echo "theme-".$theme_title;?>" id="<?php  echo "slider-wrapper-".$bID; ?>">
    <div id="<?php  echo "nivo-slider-".$bID; ?>" class="nivoSlider" style="width: 100% !important;">
    <?php   
    foreach($items as $item) { 
        echo (strlen($item['itemUrl'])>1) ? '<a href="'.$item['itemUrl'].'">' : '';

        $my_title = "";
        if(!empty($item['itemImageTitle']) && !empty($item['itemTitle'])){
           $my_title = '<h2>'.$item['itemTitle'].'</h2><br>'.$item['itemImageTitle'].'</h2>';

        }


        echo '<img src="'.$item['itemImageSrc'].'" alt="'.$item['itemImageAlt'].'" title="'.$my_title.'" data-thumb="'.$item['itemImageSrc'].'" >';
        echo (strlen($item['itemUrl'])>1) ? '</a>' : '';
    } 
    ?>

    </div>

</div>

【讨论】:

  • 这里逻辑错了` if(!empty($item['itemImageTitle']) && !empty($item['itemTitle'])){ ` use ` if(!empty($项目['itemImageTitle']) || !empty($item['itemTitle'])){ `
  • @Vinay 看看 OP 要求做什么......他提到了&amp;&amp; 所以这就是我写那个的原因
  • 兄弟!当他们是 2 Not Joins .. 然后代替 && 我们使用 ||
  • 你太棒了,谢谢!完美运行,完全符合我的想法。
  • @Nexus1234 很高兴它有帮助......快乐编码:P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
相关资源
最近更新 更多