【问题标题】:Wordpress: How to show only tags without containing numbers?Wordpress:如何只显示不包含数字的标签?
【发布时间】:2014-08-29 14:47:06
【问题描述】:

我需要一个解决方案,使我能够在 wordpress 页面的列表下方仅显示不包含数字的标签。

这是我的代码:

<?php

        $tags_html = '';
            foreach($tags as $single_tag) 
             {

$count++;
if (1 == $count)
 {
  $tags_html .= '<a href="'.get_term_link($single_tag, 'spot_tags').'">'.$single_tag->name.'</a>, ';
}
                //// ADDS TO OUR MARKUP

            }
            //// TRIMS LAST COME
            echo rtrim($tags_html, ', ');

        ?>
    </span> 



    <?php }
    ?>

不应显示属于包含数字的帖子/列表的所有标签,不包含数字的标签可以显示在列表下方。

有什么想法吗?

【问题讨论】:

    标签: php string wordpress tags remove-if


    【解决方案1】:

    除非您发布var_dump(),否则我无法知道$single_tag 的确切结构,但这里是您需要防止显示带有数字内容的标签的if 代码:

    if(!preg_match('/\d/',$single_tag))
    {
        $tags_html .= '<a href="'.get_term_link($single_tag, 'spot_tags').'">'.$single_tag->name.'</a>, ';
    }
    

    它使用\d regular expression escape sequence 来检查字符串是否包含数字。

    【讨论】:

      【解决方案2】:

      如果你的标签在一个字符串中,你需要这两行(构建一个数组)

      $string = '34hj, wer, wer35, rwer, 5345, 5dgg45, sdfa';
      $tags = explode(',', $string);
      

      否则,如果您的标签已经在数组中,如下所示,则不需要上面的

      $tags = array('34hj', 'wer', 'wer35', 'rwer', '5345', '5dgg45', 'sdfa');
      

      最后,你需要这个 sn-p,它将排除包含任何数字的标签。

      foreach($tags as $tag) {
          if(preg_match('/^[^\d]+$/', $tag));
          echo trim($tag) . "\n";
      }
      

      Working demo

      【讨论】:

        猜你喜欢
        • 2014-05-16
        • 2018-08-05
        • 2013-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-12
        • 1970-01-01
        相关资源
        最近更新 更多