2009-12-24 3 views
0

Я занят приложением, которое использует переход. В принципе мне нужно разобрать данный текст и захват тегов следующим образом:PHP вопрос о включении (regex)

{{author: name | 
    book : sometitle | 
    year : someyear | 
    img : {{img:.....}} 
    }} 

Моя проблема заключается в том, что мне нужно рекурсивно разобрать, что внутри двойных фигурных скобок и заменить его другим текстом. Возможно ли иметь рекурсию только с использованием регулярного выражения, может ли кто-нибудь предложить решение?

Если вы знакомы с текстом wiki, то что я делаю, очень похоже.

+1

Как вы обнаружили, вы не можете сделать это с помощью регулярного выражения. Вам понадобится полноразмерный парсер. – SLaks

ответ

2

Это можно сделать просто с регулярным выражением и итерацией, хотя MediaWiki не использует регулярное выражение (кроме параметров синтаксического анализа). См. Функцию braceSubstitution в include/parser/Parser.php