Capturando texto entre corchetes en PHP

Necesito alguna forma de capturar el texto entre corchetes. Así por ejemplo, la siguiente cadena:

[This] is a [test] string, [eat] my [shorts].

Podría utilizarse para crear la siguiente matriz:

<code>Array ( 
     [0] => [This] 
     [1] => [test] 
     [2] => [eat] 
     [3] => [shorts] 
)
</code>

Tengo el siguiente regex,/\[.*?\]/ pero solo captura la primera instancia, por lo que:

<code>Array ( [0] => [This] )
</code>

¿Cómo puedo obtener la salida que necesito? Tenga en cuenta que los corchetes NUNCA están anidados, por lo que no es una preocupación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta