回答ありがとうございます。
Hosoya Takashi様
暗黙的なセクショニングというものがあったのですね、初めて知りました。
<section>を明示せずとも仕様としては問題ないようですが、
HTMLのコードに統一性を持たせたいので今回は<section>を明示する方向で行きたいと思います。
教えていただき、ありがとうございます。
nobita様
なるほど、こんな方法もあったのですね。
ただ、このコードの意味はまだ自分には理解できず、意図しない動作が怖いため、
申し訳ありませんが今回はその方法は使わないでおきます。
非常に勉強になります、ありがとうございます。
kjmtsh様
こういう置換方法がありましたか。
私の作ろうとしているブログの場合、形式が決まっているので
汎用性はあまり必要なく、この方法がピッタリのようです。
大変参考になりました。ありがとうございます。
これを基に自分なりに考えた結果、
<h1>の前が</p>以外で終わる可能性も考慮に入れて、
2つ目以降の<h1>についてまず置換した後、1つ目の<h1>を置換し、
末尾に</section>をつける、という方法にしました(コードが不恰好ではありますが)。
ただし、記事を投稿する際には必ず<h1>の見出しから始める必要がありますが、
私のブログの形式に限っては問題なしです。
add_filter('the_content', 'add_sectioning_tag');
function add_sectioning_tag($content) {
$content = preg_replace("/.<h1/is", '</section><section><h1', $content);
$content = preg_replace("/^<h1/is", '<section><h1', $content);
$content = $content . '</section>';
return $content;
}
お三方とも迅速な回答をくださり、誠にありがとうございました。