記事の中の<h2>タイトル</h2>タグを取得して表示するPHPなのですが、文書には三つ<h2>タイトル</h2>があり、下記のPHPで表示させると、<h2>タイトル</h2><h2>タイトル</h2><h2>タイトル</h2>の表示になりました。
これをそれぞれ、分けて表示するにはどうしたらよいでしょうか。
↓↓
一つ目の<h2>タイトル</h2>
二つ目の<h2>タイトル</h2>
三つ目の<h2>タイトル</h2>
一つ目の、二つ目のと文字を足して、分けて表示したい場合はどうすれば良いのでしょうか。
PHPを勉強してまして、初心者ですがご教授くださいますと本当に感謝します。お願いします。
//functions.phpに定義する関数
function get_index() {
//グローバル変数を使う為の宣言
global $post;
//マッチングで<h>タグを取得する
preg_match_all('/<h2>.+</h2>/u', $post->post_content, $matches);
//取得した<h>タグの個数をカウント
$matches_count = count($matches[0]);
if(empty($matches)){
//<h>タグがない場合の出力
echo '<span>Sorry no index</span>';
}else{
//<h>タグが存在する場合に<h>タグを出力
for ($i = 0; $i < $matches_count; $i++){
echo $matches[0][$i];
}
}
}
以上です。
表示は<?php echo the_content(); ?>で行いました。
*追記 <h2\s.+>は<h2>の間違いでした申し訳ございません。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/22 09:31