Этот вопрос является дополнением к: Recursive processing of markup using Regular Expression and 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