我有一些像这样的文字字符串
{你好|喜} {那里|你}
我想计算{..anything ..}的实例,所以在上面的例子中,我想要返回:
您好|喜
有|你
由preg_match_all()
现在我的代码看起来像:
preg_match_all('/{(.*?)}/', $text,$text_pieces);
$ text_pieces包含:
Array ( [0] => Array ( [0] => {hello|hi} [1] => {there|you} ) [1] => Array ( [0] => hello|hi [1] => there|you ) )
我所需要的只是:
[0] => hello|hi [1] => there|you
答案 0 :(得分:2)
preg_match_all
不能省略全文匹配,只能省略子模式匹配,因此唯一的解决方案是在函数调用后将$text_pieces
设置为$text_pieces[1]
:
if(preg_match_all('/{(.*?)}/', $text,$text_pieces))
{
$text_pieces = $text_pieces[1];
}