-1

我需要一个解决方案,使我能够在 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 }
    ?>

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

任何想法?

4

2 回答 2

0

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

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

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

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

最后,您需要这个片段,它将排除包含任何数字的标签。

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

工作演示

于 2014-08-29T15:10:14.423 回答
0

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

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

它使用\d 正则表达式转义序列来检查字符串是否包含数字。

于 2014-08-29T15:01:57.247 回答