无法理解它是如何工作的preg_match,今天尝试用很多例子创建我的函数,甚至文档并没有帮助我。所以需要你的帮助。
需要获得2个元素
首先是元素名称菜单,secound是标签{main}之间的内容 看起来像
{main item=menu} bla bla bla{/main}
答案 0 :(得分:0)
一个简单的正则表达式是/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/
。应用于您的示例,这将返回匹配的组main
,menu
和bla 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
迭代所有元素,匹配此模式。