Этот вопрос дополняет: Рекурсивная обработка разметки с использованием регулярного выражения и DOMDocument
Код, предоставленный выбранным ответом, очень помог понять построение базового дерева синтаксиса. Однако теперь у меня возникают проблемы с ужесточением регулярных выражений, чтобы соответствовать только синтаксису, а не {.
но не {{
. В идеале я бы хотел, чтобы он соответствовал только моему синтаксису:
{<anchor>} {!image!} {*strong*} {/emphasis/} {|code|} {-strikethrough-} {>small<}
Для двух тегов a
и small
также требуются разные конечные теги. Я пробовал модифицировать $re_closetag
из исходного образца кода, чтобы отразить это, но он по-прежнему совпадает с текстом.
Например:
http://www.google.com/>} bang smäll<} boom
Моя тестовая строка:
tëstïng {{ 汉字/漢字 }} testing {<http://www.google.com/>} bang {>smäll<} boom {* strông{/ ëmphäsïs {- strïkë {| côdë |} -} /} *} {*wôw*} 1, 2, 3