123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- --TEST--
- Test support for PCRE marks
- --FILE--
- <?php
- $regex = <<<'REGEX'
- /
- _ (a) (*MARK:A_MARK) _
- | _ (b) _
- | _ (c) (*MARK:C_MARK) _
- | _ (d) _
- /x
- REGEX;
- var_dump(preg_match($regex, '_c_', $matches));
- var_dump($matches);
- var_dump(preg_match_all($regex, '_a__b__c__d_', $matches, PREG_PATTERN_ORDER));
- var_dump($matches);
- var_dump(preg_match_all($regex, '_a__b__c__d_', $matches, PREG_SET_ORDER));
- var_dump($matches);
- var_dump(preg_replace_callback($regex, function($matches) {
- var_dump($matches);
- return $matches[0];
- }, '_a__b__c__d_'));
- ?>
- --EXPECT--
- int(1)
- array(5) {
- [0]=>
- string(3) "_c_"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(1) "c"
- ["MARK"]=>
- string(6) "C_MARK"
- }
- int(4)
- array(6) {
- [0]=>
- array(4) {
- [0]=>
- string(3) "_a_"
- [1]=>
- string(3) "_b_"
- [2]=>
- string(3) "_c_"
- [3]=>
- string(3) "_d_"
- }
- [1]=>
- array(4) {
- [0]=>
- string(1) "a"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(0) ""
- }
- [2]=>
- array(4) {
- [0]=>
- string(0) ""
- [1]=>
- string(1) "b"
- [2]=>
- string(0) ""
- [3]=>
- string(0) ""
- }
- [3]=>
- array(4) {
- [0]=>
- string(0) ""
- [1]=>
- string(0) ""
- [2]=>
- string(1) "c"
- [3]=>
- string(0) ""
- }
- [4]=>
- array(4) {
- [0]=>
- string(0) ""
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(1) "d"
- }
- ["MARK"]=>
- array(2) {
- [0]=>
- string(6) "A_MARK"
- [2]=>
- string(6) "C_MARK"
- }
- }
- int(4)
- array(4) {
- [0]=>
- array(3) {
- [0]=>
- string(3) "_a_"
- [1]=>
- string(1) "a"
- ["MARK"]=>
- string(6) "A_MARK"
- }
- [1]=>
- array(3) {
- [0]=>
- string(3) "_b_"
- [1]=>
- string(0) ""
- [2]=>
- string(1) "b"
- }
- [2]=>
- array(5) {
- [0]=>
- string(3) "_c_"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(1) "c"
- ["MARK"]=>
- string(6) "C_MARK"
- }
- [3]=>
- array(5) {
- [0]=>
- string(3) "_d_"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(0) ""
- [4]=>
- string(1) "d"
- }
- }
- array(3) {
- [0]=>
- string(3) "_a_"
- [1]=>
- string(1) "a"
- ["MARK"]=>
- string(6) "A_MARK"
- }
- array(3) {
- [0]=>
- string(3) "_b_"
- [1]=>
- string(0) ""
- [2]=>
- string(1) "b"
- }
- array(5) {
- [0]=>
- string(3) "_c_"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(1) "c"
- ["MARK"]=>
- string(6) "C_MARK"
- }
- array(5) {
- [0]=>
- string(3) "_d_"
- [1]=>
- string(0) ""
- [2]=>
- string(0) ""
- [3]=>
- string(0) ""
- [4]=>
- string(1) "d"
- }
- string(12) "_a__b__c__d_"
|