在大括号之间获取数据[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

$string = "[john] sometext [rohn] sometext [mohan]";

如何在不同的数组中获取每个方括号之间的数据。

我有以下代码

preg_match_all("/\((?:[^()]|(?R))+\)/",  $string , $matches);

上面的代码适用于我需要的方式的大括号,但如何使它适用于方括号?

php preg-replace preg-match
1个回答
0
投票
$string = "[john] sometext [rohn] sometext [mohan]";
preg_match_all("/\[([^]]+)\]/",  $string , $matches);
print_r($matches);

输出:

Array
(
    [0] => Array
        (
            [0] => [john]
            [1] => [rohn]
            [2] => [mohan]
        )

    [1] => Array
        (
            [0] => john
            [1] => rohn
            [2] => mohan
        )

)

说明:

\[          : opening square bracket
(           : start group 1
    [^]]+   : 1 or more any character that is not closing square bracket
)           : end group 1
\]          : closing square racket
© www.soinside.com 2019 - 2024. All rights reserved.