wp list categoriesを利用して投稿数を多い順にカテゴリを出力すると
PHP
1 2<li class="cat-item cat-item-2"><a href="#">ca1</a> (2) 3</li> 4<li class="cat-item cat-item-3"><a href="#">ca2</a> (1) 5</li> 6
のように出力されます。
これから()を取り除こうと正規表現を使うべく検索してコードを作ろうとしましたがうまくいきませんでした。こちらを参考にしてpreg_replaceで以下のような正規表現を作りました。
#</a> ([1-9]*)</li>#
</a> $1</li>
教えていただけると幸いです。
現時点では正規表現に主眼を置いていきたいので以下のようなコードで試しています。
PHP
1 2<?php 3$str = <<<EOF 4<li class="cat-item cat-item-2"><a href="#">ca1</a> (2) 5</li> 6<li class="cat-item cat-item-3"><a href="#">ca2</a> (1) 7</li> 8EOF; 9$result = preg_replace('#</a> ([1-9]*)</li>#', '</a> $1</li>', $str); 10echo $result; 11
結果的な出力としては
PHP
1 2<li class="cat-item cat-item-2"><a href="#">ca1</a> 2 3</li> 4<li class="cat-item cat-item-3"><a href="#">ca2</a> 1 5</li> 6
を期待していますが、現状のコードでは()が削除されずに変数strのまま出力されてしまいます。
回答2件
あなたの回答
tips
プレビュー