正则表达式匹配,而/循环双大括号包含双大括号?
<?php
$str = '<html lang="{{var doc-lang}}">
<head>
<title>{{var doc-title}}</div>
</head>
<body>
<div class="container">
<div class="row" {{while products}}>
{{var name}}
{{var sku}}
{{var barcode}}
</div {{while end}}>
</div>
</body>
</html>';
我们能得到吗
<div class class="row"', [products], {{var name}}, {{ var sku}} and {{var barcode}}
来自$str
?
我只能想到这个Reg
\<((.*)\{\{while\s+(.*)\}\}(.*)\{\{while\s+end\}\})\>
尝试这个:
/\s*(.*\{\{while\s+.*(?:\r?\n.*)+\{\{while\s+end.*)/
另外,要分别获取它们(如您在问题和评论中提到的),请尝试以下操作:
/\s*(?:(.*)\s+\{\{while\s+(.*)\}\}.*\r?\n\s*(.*)\r?\n\s*(.*)\r?\n\s*(.*)\r?\n.*)/
这样您可以得到所需的内容:
'$1', [$2], $3, $4 and $5
输出:
'<div class class="row"', [products], {{var name}}, {{ var sku}} and {{var barcode}}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句