搜索所有[{my value here}]并将它们放在PHP

时间:2015-12-11 00:50:53

标签: php regex

我在下面有以下HTML代码,它充当我的php应用程序上的模块的模板。以下HTML代码存储为字符串:

$parsedTemplate

这是HTML

<td>
    [{item3}]
</td>

<td>
    [{item2}]
</td>

<td>
    [{item3}]
</td>

我希望php搜索$ parsedTemplate字符串并生成如下所示的数组

'item1','item2','item3'

如何以有效的方式实现这一目标?可能是正则表达式?

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

(?s)\[{\K.*?(?=}])

Regex live here.

解释

(?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);