Идентификация шорткодов WordPress с помощью регулярного выражения - PullRequest
0 голосов
/ 21 ноября 2011

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

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

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

Любой, кто обладает знаниями, чтобы дать мне решение, очень ценится.

1 Ответ

1 голос
/ 21 ноября 2011

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

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

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

...