preg_replace_callback2.phpt 731 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. preg_replace_callback() 2
  3. --FILE--
  4. <?php
  5. function f() {
  6. throw new Exception();
  7. }
  8. try {
  9. var_dump(preg_replace_callback('/\w/', 'f', 'z'));
  10. } catch(Exception $e) {}
  11. function g($x) {
  12. return "'$x[0]'";
  13. }
  14. var_dump(preg_replace_callback('@\b\w{1,2}\b@', 'g', array('a b3 bcd', 'v' => 'aksfjk', 12 => 'aa bb')));
  15. var_dump(preg_replace_callback('~\A.~', 'g', array(array('xyz'))));
  16. var_dump(preg_replace_callback('~\A.~', function($m) { return strtolower($m[0]); }, 'ABC'));
  17. ?>
  18. --EXPECTF--
  19. array(3) {
  20. [0]=>
  21. string(12) "'a' 'b3' bcd"
  22. ["v"]=>
  23. string(6) "aksfjk"
  24. [12]=>
  25. string(9) "'aa' 'bb'"
  26. }
  27. Warning: Array to string conversion in %s on line %d
  28. array(1) {
  29. [0]=>
  30. string(7) "'A'rray"
  31. }
  32. string(3) "aBC"