フォーラムへの返信

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: 記事本文内の見出しごとにsectionタグを付けたい
    トピック投稿者 egah

    (@egah)

    回答ありがとうございます。

    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;
    }

    お三方とも迅速な回答をくださり、誠にありがとうございました。

1件の返信を表示中 - 1 - 1件目 (全1件中)