本题补充: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