PHP preg_match_all()在正则表达式中返回动态字符串

时间:2012-09-17 05:44:49

标签: php regex preg-match-all

我正在使用PHP和正则表达式来查找:

preg_match_all('/\{\{include:[a-zA-Z0-9_]{25}\}\}/i', $content, $include_matches, PREG_PATTERN_ORDER);

根据PHP文档,$include_matches应该给我原始字符串,以及括号内的结果(PREG_PATTERN_ORDER标志),正是我想要的。问题是结果是:

Array
(
    [0] => Array
        (
            [0] => {{include:rec_ih6tk504c23dfdf4a3qqK}}
        )
 )

我希望结果是:

Array
(
    [0] => Array
        (
            [0] => rec_ih6tk504c23dfdf4a3qqK
        )
 )

知道我做错了什么吗?感谢。

1 个答案:

答案 0 :(得分:4)

只需使用:

preg_match_all('/\{\{include:([a-zA-Z0-9_]{25})\}\}/', $content, $include_matches, PREG_PATTERN_ORDER);
$include_matches= $include_matches[1];

你必须插入一个捕获组