php preg_match内嵌匹配

时间:2011-10-20 17:19:24

标签: php regex preg-match

如何只匹配精确的内联代码,并将两者匹配为两次,而不是匹配。

http://regexr.com?2uvul

我希望得到结果:

阵列( [0] => ASD [1] => ASD )

阵列( [0] => asdasd )

1 个答案:

答案 0 :(得分:2)

http://regexr.com?2uvuu - 使用表达式:

<!--\s+IF\s+([^\s]*)\s-->([^<]*)<!--\sENDIF\s-->

修改

考虑到你想要在if语句“tag”中匹配的内容可能有空格,一个稍微慢一点的表达式应该处理“if语句”中的任何内容应该如下(RegExr):< / p>

/<!--\s+IF\s+(.*?)\s-->([^<]*)<!--\sENDIF\s-->/gixsm

如果您希望能够在结果中捕获其他标记(或字符<)(如果语句为“true”,则需要使用(再次稍慢)表达式(at RegExr):

/<!--\s+IF\s+(.*?)\s-->(.*?)<!--\sENDIF\s-->/gixsm

结束编辑