bug50579.phpt 828 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #50579 (RegexIterator::REPLACE doesn't work)
  3. --FILE--
  4. <?php
  5. class foo extends ArrayIterator {
  6. public function __construct( ) {
  7. parent::__construct(array(
  8. 'test1'=>'test888',
  9. 'test2'=>'what?',
  10. 'test3'=>'test999'));
  11. }
  12. }
  13. $h = new foo;
  14. $i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
  15. $i->replacement = '[$0]';
  16. foreach ($i as $name=>$value) {
  17. echo $name . '=>' . $value . "\n";
  18. }
  19. $i->replacement = '$1';
  20. foreach ($i as $name=>$value) {
  21. echo $name . '=>' . $value . "\n";
  22. }
  23. $h = new foo;
  24. $i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
  25. $i->replacement = '[$1]';
  26. foreach ($i as $name=>$value) {
  27. echo $name . '=>' . $value . "\n";
  28. }
  29. ?>
  30. --EXPECT--
  31. test1=>[test888]
  32. test3=>[test999]
  33. test1=>888
  34. test3=>999
  35. test1=>[888]
  36. test3=>[999]