我需要一个解决方案,它使我能够在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 }
?>
属于包含数字的帖子/列表的所有标签都不应显示,不包含数字的标签可以显示在列表下方。
有什么想法吗?
除非您发布$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正则表达式转义序列来检查字符串是否包含数字。
如果标签在字符串中,则需要这两行(构建数组)
$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";
}
工作演示