Annotation of embedaddon/php/ext/pcre/tests/004.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: abusing pcre
                      3: --FILE--
                      4: <?php
                      5: 
                      6: var_dump(preg_match_all('/((?:(?:unsigned|struct)\s+)?\w+)(?:\s*(\*+)\s+|\s+(\**))(\w+(?:\[\s*\w*\s*\])?)\s*(?:(=)[^,;]+)?((?:\s*,\s*\**\s*\w+(?:\[\s*\w*\s*\])?\s*(?:=[^,;]+)?)*)\s*;/S', 'unsigned int xpto = 124; short a, b;', $m, PREG_SET_ORDER));
                      7: var_dump($m);
                      8: 
                      9: var_dump(preg_match_all('/(?:\([^)]+\))?(&?)([\w>.()-]+(?:\[\w+\])?)\s*,?((?:\)*\s*=)?)/S', '&a, b, &c', $m, PREG_SET_ORDER));
                     10: var_dump($m);
                     11: 
                     12: var_dump(preg_match_all('/zend_parse_parameters(?:_ex\s*\([^,]+,[^,]+|\s*\([^,]+),\s*"([^"]*)"\s*,\s*([^{;]*)/S', 'zend_parse_parameters( 0, "addd|s/", a, b, &c);', $m, PREG_SET_ORDER | PREG_OFFSET_CAPTURE));
                     13: var_dump($m);
                     14: 
                     15: var_dump(preg_replace(array('@//.*@S', '@/\*.*\*/@SsUe'), array('', 'preg_replace("/[^\r\n]+/S", "", \'$0\')'), "hello\n//x \n/*\ns\n*/"));
                     16: 
                     17: var_dump(preg_split('/PHP_(?:NAMED_)?(?:FUNCTION|METHOD)\s*\((\w+(?:,\s*\w+)?)\)/S', "PHP_FUNCTION(s, preg_match)\n{\nlalala", -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE));
                     18: ?>
                     19: --EXPECT--
                     20: int(2)
                     21: array(2) {
                     22:   [0]=>
                     23:   array(7) {
                     24:     [0]=>
                     25:     string(24) "unsigned int xpto = 124;"
                     26:     [1]=>
                     27:     string(12) "unsigned int"
                     28:     [2]=>
                     29:     string(0) ""
                     30:     [3]=>
                     31:     string(0) ""
                     32:     [4]=>
                     33:     string(4) "xpto"
                     34:     [5]=>
                     35:     string(1) "="
                     36:     [6]=>
                     37:     string(0) ""
                     38:   }
                     39:   [1]=>
                     40:   array(7) {
                     41:     [0]=>
                     42:     string(11) "short a, b;"
                     43:     [1]=>
                     44:     string(5) "short"
                     45:     [2]=>
                     46:     string(0) ""
                     47:     [3]=>
                     48:     string(0) ""
                     49:     [4]=>
                     50:     string(1) "a"
                     51:     [5]=>
                     52:     string(0) ""
                     53:     [6]=>
                     54:     string(3) ", b"
                     55:   }
                     56: }
                     57: int(3)
                     58: array(3) {
                     59:   [0]=>
                     60:   array(4) {
                     61:     [0]=>
                     62:     string(3) "&a,"
                     63:     [1]=>
                     64:     string(1) "&"
                     65:     [2]=>
                     66:     string(1) "a"
                     67:     [3]=>
                     68:     string(0) ""
                     69:   }
                     70:   [1]=>
                     71:   array(4) {
                     72:     [0]=>
                     73:     string(2) "b,"
                     74:     [1]=>
                     75:     string(0) ""
                     76:     [2]=>
                     77:     string(1) "b"
                     78:     [3]=>
                     79:     string(0) ""
                     80:   }
                     81:   [2]=>
                     82:   array(4) {
                     83:     [0]=>
                     84:     string(2) "&c"
                     85:     [1]=>
                     86:     string(1) "&"
                     87:     [2]=>
                     88:     string(1) "c"
                     89:     [3]=>
                     90:     string(0) ""
                     91:   }
                     92: }
                     93: int(1)
                     94: array(1) {
                     95:   [0]=>
                     96:   array(3) {
                     97:     [0]=>
                     98:     array(2) {
                     99:       [0]=>
                    100:       string(46) "zend_parse_parameters( 0, "addd|s/", a, b, &c)"
                    101:       [1]=>
                    102:       int(0)
                    103:     }
                    104:     [1]=>
                    105:     array(2) {
                    106:       [0]=>
                    107:       string(7) "addd|s/"
                    108:       [1]=>
                    109:       int(27)
                    110:     }
                    111:     [2]=>
                    112:     array(2) {
                    113:       [0]=>
                    114:       string(9) "a, b, &c)"
                    115:       [1]=>
                    116:       int(37)
                    117:     }
                    118:   }
                    119: }
                    120: string(9) "hello
                    121: 
                    122: 
                    123: 
                    124: "
                    125: array(3) {
                    126:   [0]=>
                    127:   array(2) {
                    128:     [0]=>
                    129:     string(0) ""
                    130:     [1]=>
                    131:     int(0)
                    132:   }
                    133:   [1]=>
                    134:   array(2) {
                    135:     [0]=>
                    136:     string(13) "s, preg_match"
                    137:     [1]=>
                    138:     int(13)
                    139:   }
                    140:   [2]=>
                    141:   array(2) {
                    142:     [0]=>
                    143:     string(9) "
                    144: {
                    145: lalala"
                    146:     [1]=>
                    147:     int(27)
                    148:   }
                    149: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>