次のパターン「[link:activate/$id/$test_code]」を含む文字列があります。パターン [link.....] が発生した場合、これから単語 activate、$id、および $test_code を取得する必要があります。
また、グループ化を使用して内部アイテムを取得しようとしましたが、アクティブになるだけで、$test_code は $id を取得できませんでした。配列内のすべてのパラメーターとアクション名を取得するのを手伝ってください。
以下は私のコードと出力です
コード
function match_test()
{
$string = "Sample string contains [link:activate/\$id/\$test_code] again [link:anotheraction/\$key/\$second_param]]] also how the other ationc like [link:action] works";
$pattern = '/\[link:([a-z\_]+)(\/\$[a-z\_]+)+\]/i';
preg_match_all($pattern,$string,$matches);
print_r($matches);
}
出力
Array
(
[0] => Array
(
[0] => [link:activate/$id/$test_code]
[1] => [link:anotheraction/$key/$second_param]
)
[1] => Array
(
[0] => activate
[1] => anotheraction
)
[2] => Array
(
[0] => /$test_code
[1] => /$second_param
)
)