我在下面有以下HTML代码,它充当我的php应用程序上的模块的模板。以下HTML代码存储为字符串:
$parsedTemplate
这是HTML
<td>
[{item3}]
</td>
<td>
[{item2}]
</td>
<td>
[{item3}]
</td>
我希望php搜索$ parsedTemplate字符串并生成如下所示的数组
'item1','item2','item3'
如何以有效的方式实现这一目标?可能是正则表达式?
答案 0 :(得分:1)
试试这个正则表达式:
(?s)\[{\K.*?(?=}])
解释
(?s) # allows . to match new line
\[{ # your open-delimiter
\K # you do not need the delimiter, then clear it
.*? # till the first-next occurrence where
(?=}]) # is possible to see the close-delimiter
希望它有所帮助。
修改:要进行测试,就像:
preg_match_all('/(?s)\[{\K.*?(?=}])/', $parsedTemplate, $match);
print_r($match);