-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

$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 に答える
0

タグが文字列の場合、これらの 2 行が必要になります (配列を作成するため)。

$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 に答える