私はこの文字列を持っています
@[181] @[183] @[4563]
この文字列から、この場合 [] の間の値を取得したい
181,183,4563
正規表現とすべてを使用するのはセクシーに聞こえるかもしれませんが、非常に適切にフォーマットされた入力文字列があるため、これは完全な電力/オーバーヘッドを必要としない場合です。
$string = '@[181] @[183] @[4563]';
$needles = array('@', '[', ']');
$cleaned_string = str_replace($needles, '', $string);
$result_array = explode(' ', $cleaned_string);
配列間の値が数値であると仮定すると、これは非常に単純です
$s = '@[181] @[183] @[4563]';
preg_match_all('/\d+/', $s, $m);
$matches_as_array = $m[0];
$matches_as_string = implode(',', $m[0]);