preg_match_all可能的变化

时间:2014-11-19 15:34:57

标签: php preg-match-all

我最多想知道一个字符串的三个部分。字符串可以是

{identifier}{identifier:foo}{identifier:foo|bar}{identifier|bar}

字符串可以在$content中多次出现,这就是使用preg_match_all

的原因

目前我有

preg_match_all( '#\{'.preg_quote($identifier).':?([^\}|]+)?\|?([^\}]+)?\}#i', $content, $matches );

适用于{identifier|bar} 之外的所有版本的第一个,但不适用于其他

编辑:

$matches应该是这样的(在$content中只有一个外观)

Array
(
    [0] => Array
        (
            [0] => {timezone:foo|bar}
        )

    [1] => Array
        (
            [0] => foo
        )

    [2] => Array
        (
            [0] => bar
        )

)

0 个答案:

没有答案