Соответствие шорткодам WordPress внутри данной строки - PullRequest
1 голос
/ 21 ноября 2011

Я хотел сопоставить шорткоды внутри строки и нашел здесь следующее регулярное выражение.Работает нормально.Но я хочу узнать, как это работает.

Может кто-нибудь, пожалуйста, объясните мне компоненты этого регулярного выражения и как он соответствует шорткоду.

preg_match_all('%(?<=\[shortcode\]).*?(?=\[/shortcode\])%s',$content, $result, PREG_PATTERN_ORDER);

1 Ответ

3 голосов
/ 21 ноября 2011

Существуют инструменты для объяснения регулярных выражений.

Ваши, например:

NODE                     EXPLANATION
----------------------------------------------------------------------
  (?<=                     look behind to see if there is:
----------------------------------------------------------------------
    \[                       '['
----------------------------------------------------------------------
    shortcode                'shortcode'
----------------------------------------------------------------------
    \]                       ']'
----------------------------------------------------------------------
  )                        end of look-behind
----------------------------------------------------------------------
  .*?                      any character  (0 or more times
                           (matching the least amount possible)
----------------------------------------------------------------------
  (?=                      look ahead to see if there is:
----------------------------------------------------------------------
    \[                       '['
----------------------------------------------------------------------
    /shortcode               '/shortcode'
----------------------------------------------------------------------
    \]                       ']'
----------------------------------------------------------------------
  )                        end of look-ahead
----------------------------------------------------------------------

Подробнее об утверждениях на http://www.regular -выражениях.info / lookaround.html

...