Идентификация коротких кодов WordPress с использованием регулярного выражения

У меня есть shortcode wordpress, который содержит некоторые другие короткие коды внутри него. Когда выполняется первый короткий код, я хочу отфильтровать другие короткие коды с помощью регулярного выражения.

[main_code] [sub_code id='testid']test content[/sub_code] [sub_code id='testid' name='testname']test content[/sub_code] [/main_code] 

Когда я выполняю main_code, я хочу отфильтровать sub_code в массиве и получить доступ к его атрибутам, не выполняя sub_code в качестве короткого кода.

Любой, у кого есть знания, чтобы дать мне решение, очень приветствуется.

Если вы хотите соответствовать внутренним частям, я бы посоветовал:

 preg_match_all('~\[sub_code([^\[\]]*)]([^\[\]]+)\[/sub_code]~', $content, $result); 

[^\[\]] Соответствует любому контенту без квадратных скобок. Таким образом, не предусмотрено, чтобы в нем не существовало других коротких кодов.