Соответствующий тег пары с регулярным выражением

Я пытаюсь извлечь определенные теги с их содержимым из документа xhtml, но они соответствуют неверным конечным тегам.

В следующем содержании:

<cache_namespace name="content">
    <content_block id="15">
    some content here

        <cache_namespace name="user">
            <content_block id="welcome">
            Welcome Apikot!
            </content_block>
        </cache_namespace>
    </content_block>
</cache_namespace>

Конечный тег content_block для id = "welcome" фактически совпадает с конечным тегом первого открывающего тега content_block.

Я использую регулярное выражение:

/<content_block id="(.*)">([\w\W]*?)<\/content_block>/i

Какие-нибудь указатели относительно того, где я терплю неудачу?

Ответы на вопрос(5)

Ваш ответ на вопрос