preg_match_all中第四個參數PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_OFFSET_CAPTURE之間的區別!

 

  1. echo "<br><br>"
  2. $str = "asdf{title}asdf{author}sadf{con}asfasdfasdfasf"
  3. $mode = "/{(.*)}/U"
  4. $flags1 = PREG_PATTERN_ORDER;       //整個數組是二維數組,$arr1[0]是包括邊界所構成匹配字符串的數組,$arr1[1]除去邊界所構成的匹配字符串的數組; 
  5. preg_match_all($mode,$str,$arr1,$flags1); 
  6. print_r($arr1); 
  7.  
  8. echo "<br><br>"
  9. $flags2 = PREG_SET_ORDER;           //整個數組是二維數組,$arr2[0][0]是第一個包括邊界所構成的匹配的字符串,$arr2[0][1]是第一個除去邊界所構成的匹配的字符串,之後的數組以此類推 
  10. preg_match_all($mode,$str,$arr2,$flags2); 
  11. print_r($arr2); 
  12.  
  13. echo "<br><br>"
  14. $flags3 = PREG_OFFSET_CAPTURE;          //整個數組是三維數組,$arr3[0][0][0]是第一個包括邊界所構成的匹配的字符串,$arr3[0][0][1]是到達第一個匹配字符串的邊界的偏移量(邊界不算在內),之後以此類推,$arr2[1][0][0]是第一個包括邊界所構成的匹配的字符串,$arr3[1][0][1]是到達第一個匹配字符串的邊界的偏移量(邊界算在內); 
  15. preg_match_all($mode,$str,$arr3,$flags3); 
  16. 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

                )

 

        )

 

)

 php菜鳥,希望與大家共同學習!~~qq:1309782600

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章