preg_match_all中第四个参数PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_OFFSET_CAPTURE之间的区

 

echo "<br><br>"; 
$str = "asdf{title}asdf{author}sadf{con}asfasdfasdfasf"; 
$mode = "/{(.*)}/U"; 
$flags1 = PREG_PATTERN_ORDER;       //整个数组是二维数组,$arr1[0]是包括边界所构成匹配字符串的数组,$arr1[1]除去边界所构成的匹配字符串的数组; 
preg_match_all($mode,$str,$arr1,$flags1); 
print_r($arr1); 
 
echo "<br><br>"; 
$flags2 = PREG_SET_ORDER;           //整个数组是二维数组,$arr2[0][0]是第一个包括边界所构成的匹配的字符串,$arr2[0][1]是第一个除去边界所构成的匹配的字符串,之后的数组以此类推 
preg_match_all($mode,$str,$arr2,$flags2); 
print_r($arr2); 
 
echo "<br><br>"; 
$flags3 = PREG_OFFSET_CAPTURE;          //整个数组是三维数组,$arr3[0][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[0][0][1]是到达第一个匹配字符串的边界的偏移量(边界不算在内),之后以此类推,$arr2[1][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[1][0][1]是到达第一个匹配字符串的边界的偏移量(边界算在内); 
preg_match_all($mode,$str,$arr3,$flags3); 
print_r($arr3); 

  

 

区别已经注明在注释中,通过下面的数组应该会把区别表明得更直观!~~

<br><br>Array

(

    [0] => Array

        (

            [0] => {title}

            [1] => {author}

            [2] => {con}

        )

 

    [1] => Array

        (

            [0] => title

            [1] => author

            [2] => con

        )

 

)

<br><br>Array

(

    [0] => Array

        (

            [0] => {title}

            [1] => title

        )

 

    [1] => Array

        (

            [0] => {author}

            [1] => author

        )

 

    [2] => Array

        (

            [0] => {con}

            [1] => con

        )

 

)

<br><br>Array

(

    [0] => Array

        (

            [0] => Array

                (

                    [0] => {title}

                    [1] => 4

                )

 

            [1] => Array

                (

                    [0] => {author}

                    [1] => 15

                )

 

            [2] => Array

                (

                    [0] => {con}

                    [1] => 27

                )

 

        )

 

    [1] => Array

        (

            [0] => Array

                (

                    [0] => title

                    [1] => 5

                )

 

            [1] => Array

                (

                    [0] => author

                    [1] => 16

                )

 

            [2] => Array

                (

                    [0] => con

                    [1] => 28

                )

 

        )

 

)

posted @ 2016-09-29 18:54  天涯逐梦  阅读(552)  评论(0)    收藏  举报