1

独自の PHP コードを使用して、テンプレート ファイルを HTML コードとしてレンダリングしています。再帰タグを正しく解析するには、正規表現が必要です。この例では、許可タグです。

例: テンプレート コード:

<if condition="is_admin">
     Show this
     <if condition="can_do_this">
         Show this
     </if>
     <if condition="can_do_that">
         Show that
     </if>
</if>

各「if」タグ内のコンテンツを正しくキャプチャしたいのですが、もちろん、ネストされたタグの問題はありません。

CSSで完全に機能する正規表現を見ました:

/{(?:[^{}]+|(?R))*}/sg

ただし、自分のフォーマットに変更しても機能しません。私は次のように変更しました:

/<if condition="(.[^"]*)">(?:(?!<if condition=".[^>]*">|<\/if>)|(?R))*<\/if>/sg

動作させるには何を変更すればよいですか?

ありがとうございました。

4

0 に答える 0