--- /dev/null
+--TEST--
+Bug #27011: preg_replace_callback() not working with class methods
+--FILE--
+<?php
+ class Foo {
+ function foo() {
+
+ $s = 'preg_replace() is broken';
+
+ var_dump(preg_replace_callback(
+ '/broken/',
+ array(&$this, 'bar'),
+ $s
+ ));
+ }
+
+ function bar() {
+ return 'working';
+ }
+
+ } // of Foo
+
+ $o = new Foo;
+?>
+--EXPECT--
+string(25) "preg_replace() is working"
+--UEXPECT--
+unicode(25) "preg_replace() is working"
--- /dev/null
+--TEST--
+Bug #27011: segfault in preg_match_all()
+--FILE--
+<?php
+
+var_dump(preg_match_all('|(\w+)://([^\s"<]*[\w+#?/&=])|', "This is a text string", $matches, PREG_SET_ORDER));
+var_dump($matches);
+
+?>
+--EXPECT--
+int(0)
+array(0) {
+}
--- /dev/null
+--TEST--
+Bug #38600: infinite loop in pcre with extended class
+--FILE--
+<?php
+$foo = 'bla bla bla';
+
+var_dump(preg_match('/(?<!\w)(0x[\p{N}]+[lL]?|[\p{Nd}]+(e[\p{Nd}]*)?[lLdDfF]?)(?!\w)/', $foo, $m));
+var_dump($m);
+
+?>
+--EXPECT--
+int(0)
+array(0) {
+}