1

わかりましたので、一部の html ファイルの特定のパターンに一致させるために使用しようとしている正規表現があります。preg_match ステートメントは次のとおりです。

preg_match('@<'.$htmlElementType.' id\s*=\s*"{{ALViewElement_'.$this->_elementId.'}}".*>[\s\S]*</'.$htmlElementType.'(>)@i', $htmlString, $newMatches, PREG_OFFSET_CAPTURE)

明確にするために、これは id が {{ALViewElement_.*}} の html 要素と一致させようとしていますが、終了タグで終了する必要もあります。たとえば、$htmlElementType が「section」の場合、「/」で終了します。セクション>」。

私のhtmlがこのように見え、他に何も入っていない場合、期待どおりに動作します:

<section id="{{ALViewElement_resume}}">
            <!--{{RESUME_ADD_CHANGE_PIECE}}-->
            <!--{{RESUME}}-->
        </section>

問題は、html の後半に section 要素があり、それを閉じる /section> がある場合です。例:

<section id="{{ALViewElement_resume}}">
            <!--{{RESUME_ADD_CHANGE_PIECE}}-->
            <!--{{RESUME}}-->
        </section>
        <div>

        </div>
        <section>
            HEY THIS IS ME
        </section>

この場合、フルマッハは上記のすべてです。しかし、最初のものを開く で止めたいです。コードの後半で、その終了タグの最後の > の位置が必要になるため、これは重要です。

この正規表現を少し変更する方法はありますか?

助けてくれてありがとう!

4

1 に答える 1