0
组
我想匹配:之间 一切 “{{环(东西)}}” 和第{{/环路(的东西)}}回用正则表达式匹配
文本例如:
{{ LOOP data }}
<span> Member key = {{.key}} </span>
<span> Member value = {{.}} </span>
<span> Member member = {{name}} </span>
<span> Iteration number = {{.counter}} </span>
{{ /LOOP data }}
这里是行不通的正则表达式:
/\{\{\s+loop\s+(.+?)\s+\}\}([\w\W]+?)\{\{\s+\/loop\s$1\s+\}\}/i
正如你可以看到我想要重新使用“$ 1”的第一个匹配的组:我在想什么?
下面的PHP代码:
$text = '
{{ LOOP data }}
<span> Member key = {{.key}} </span>
<span> Member value = {{.}} </span>
<span> Member member = {{name}} </span>
<span> Iteration number = {{.counter}} </span>
{{ /LOOP data }}
';
preg_match('/\{\{\s+loop\s+(.+?)\s+\}\}([\w\W]+?)\{\{\s+\/loop\s\1\s+\}\}/i', $text, $match);
print_r($match);
die;
扑通!谢谢,@DaveRandom,但我已经在发表评论时纠正了它。正在考虑PHP的Perl instad。 –
酷,这可能是答案然后:-) – DaveRandom
Yeeeeeep !!!!!谢谢,我准备好了;) –