66
77class Regex
88{
9+ /**
10+ * Perform a preg match, wrapping up the result.
11+ *
12+ * @param string $pattern
13+ * @param string $subject
14+ *
15+ * @return \Dotenv\Regex\Result
16+ */
17+ public static function match ($ pattern , $ subject )
18+ {
19+ return self ::pregAndWrap (function ($ subject ) use ($ pattern ) {
20+ return (int ) @preg_match ($ pattern , $ subject );
21+ }, $ subject );
22+ }
23+
924 /**
1025 * Perform a preg replace, wrapping up the result.
1126 *
@@ -18,7 +33,7 @@ class Regex
1833 public static function replace ($ pattern , $ replacement , $ subject )
1934 {
2035 return self ::pregAndWrap (function ($ subject ) use ($ pattern , $ replacement ) {
21- return preg_replace ($ pattern , $ replacement , $ subject );
36+ return ( string ) @ preg_replace ($ pattern , $ replacement , $ subject );
2237 }, $ subject );
2338 }
2439
@@ -34,7 +49,7 @@ public static function replace($pattern, $replacement, $subject)
3449 public static function replaceCallback ($ pattern , callable $ callback , $ subject )
3550 {
3651 return self ::pregAndWrap (function ($ subject ) use ($ pattern , $ callback ) {
37- return preg_replace_callback ($ pattern , $ callback , $ subject );
52+ return ( string ) @ preg_replace_callback ($ pattern , $ callback , $ subject );
3853 }, $ subject );
3954 }
4055
@@ -48,7 +63,7 @@ public static function replaceCallback($pattern, callable $callback, $subject)
4863 */
4964 private static function pregAndWrap (callable $ operation , $ subject )
5065 {
51- $ result = ( string ) @ $ operation ($ subject );
66+ $ result = $ operation ($ subject );
5267
5368 if (($ e = preg_last_error ()) !== PREG_NO_ERROR ) {
5469 return Error::create (self ::lookupError ($ e ));
0 commit comments