Php 正则表达式拆分为一组片段

Php 正则表达式拆分为一组片段,php,regex,arrays,Php,Regex,Arrays,我在想我怎么能把这根绳子分开呢 {{MENU}}<li><a href="{{LINK}}" title="{{TITLE}}"><span>{{TITLE}}</span></a></li>{{/MENU}} {{MENU}}{{/MENU} 分为以下几类: array( "<li><a href=\"", "{{LINK}}", "\" title=\"", "{{T

我在想我怎么能把这根绳子分开呢

{{MENU}}<li><a href="{{LINK}}" title="{{TITLE}}"><span>{{TITLE}}</span></a></li>{{/MENU}}
{{MENU}}
  • {{/MENU}
    分为以下几类:

    array(
        "<li><a href=\"",
        "{{LINK}}",
        "\" title=\"",
        "{{TITLE}}",
        "\"><span>",
        "{{TITLE}}",
        "</span></a></li>"
    )
    
    数组(
    “
  • ” )
    它还应适用于更多不同的格式,如:

    {{MENU}}<a href="{{LINK}}" title="{{TITLE}}">{{TITLE}}</a>{{/MENU}}
    {{MENU}}<b><a href="{{LINK}}" title="{{TITLE}}">{{TITLE}}</a></b>{{/MENU}}
    
    {{MENU}}{{/MENU}
    {{MENU}}{{/MENU}}
    

    我的问题是我还不知道如何编写这个复杂的正则表达式。

    您可以尝试使用
    preg\u split()



    资源:

    关于同一主题:


    您可以尝试使用
    preg\u split()



    资源:

    关于同一主题:


    我想知道为什么您没有像Gordon说的那样使用DOM解析器来获取这些值,尽管DOM解析器听起来可能有点难以承受。。。这确实是你需要使用的,因为任何类型的正则表达式都会有大量的工作,性能也会受到影响。@Frederico实际上,正则表达式的性能会更快,我相信有人会为这个特定的情况想出一个正则表达式。只是DOM解析器更可靠、更通用,而且不必先教它模糊地理解HTML。我想知道为什么你不使用DOM解析器来获取这些值,就像Gordon所说的,尽管DOM解析器听起来可能有点势不可挡。。。这确实是你需要使用的,因为任何类型的正则表达式都会有大量的工作,性能也会受到影响。@Frederico实际上,正则表达式的性能会更快,我相信有人会为这个特定的情况想出一个正则表达式。只是DOM解析器更可靠,更通用,不必先教它模糊地理解HTML。你需要把模式放在括号里。你需要把模式放在括号里。
    $yourArray = preg_split("/({{\w+}})/", $yourText, -1, PREG_SPLIT_DELIM_CAPTURE);