通过preg_match从html文件中获取2个元素

时间:2017-10-18 21:27:04

标签: php regex preg-match

无法理解它是如何工作的preg_match,今天尝试用很多例子创建我的函数,甚至文档并没有帮助我。所以需要你的帮助。

需要获得2个元素

首先是元素名称菜单,secound是标签{main}之间的内容 看起来像

{main item=menu} bla bla bla{/main}

1 个答案:

答案 0 :(得分:0)

一个简单的正则表达式是/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/。应用于您的示例,这将返回匹配的组mainmenubla bla bla

if (preg_match('/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/', $data, $m)) {
    if ($m[2] == 'menu') {
        // do something usefull..
        $content = $m[3];
    }
}

您甚至可以使用preg_match_all迭代所有元素,匹配此模式。