2014-08-29 79 views
-1

我需要一个解决方案,它使我能够在wordpress页面的下方显示仅包含不包含数字的标签。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 } 
    ?> 

属于包含了一些不应该秀邮政/上市,不包含一些标签所有标签可以被显示在下面的列表。

任何想法?

回答

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 regular expression escape sequence到检查字符串是否包含数字。

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"; 
} 

Working demo