2017-10-18 210 views
-2

无法理解它是如何工作的preg_match,今天尝试了几个小时来创建我的函数,有很多示例,甚至是文档,并没有帮助我。所以需要你的帮助。通过preg_match从HTML文件中获取2个元素

需要TE获得2元

第一个是元素的名称菜单,谢胜利,是标签{}主要内容之间 看起来像

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

如果你展示了你的尝试,它可能对你更有用。这样我们可以解释您的实现是否有问题。 – chris85

回答

0

一个简单的regex是/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/。应用于您的示例,这将返回匹配组main,menubla 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,遍历所有元素,此模式匹配。

+0

'/ {loop item =([a-z] +)\}(。*?){\/loop}/s'正在工作,谢谢 – okapo