From 6a48180c942bbe4e378188b6ff8bda8768ba6191 Mon Sep 17 00:00:00 2001 From: Ivo Valchev Date: Thu, 4 Feb 2021 13:44:39 +0100 Subject: [PATCH 1/3] Add `Str::isValidRegex` test --- src/Str.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Str.php b/src/Str.php index 4961ea5..e82ccf8 100644 --- a/src/Str.php +++ b/src/Str.php @@ -622,4 +622,15 @@ public static function cleanWhitespace(string $str, string $charlist = " \t\n\r\ { return trim(preg_replace('/[\t\n\r\s]+/', ' ', $str), $charlist); } + + /** + * Tests a string as a Regular Expression (regex) + * @return bool true if valid. + */ + public static function isValidRegex(string $regex): bool + { + @preg_match($regex, ''); + + return preg_last_error() === PREG_NO_ERROR; + } } From a603f0e14270ef3d61885ebe77aec1257e5bf798 Mon Sep 17 00:00:00 2001 From: Ivo Valchev Date: Thu, 4 Feb 2021 13:45:15 +0100 Subject: [PATCH 2/3] Update src/Str.php --- src/Str.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Str.php b/src/Str.php index e82ccf8..34b34e0 100644 --- a/src/Str.php +++ b/src/Str.php @@ -623,7 +623,7 @@ public static function cleanWhitespace(string $str, string $charlist = " \t\n\r\ return trim(preg_replace('/[\t\n\r\s]+/', ' ', $str), $charlist); } - /** +/** * Tests a string as a Regular Expression (regex) * @return bool true if valid. */ From 91b3e578c4f810cd92836a828f08909ccf85be46 Mon Sep 17 00:00:00 2001 From: Ivo Valchev Date: Thu, 4 Feb 2021 13:45:39 +0100 Subject: [PATCH 3/3] Update src/Str.php --- src/Str.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Str.php b/src/Str.php index 34b34e0..576fa47 100644 --- a/src/Str.php +++ b/src/Str.php @@ -623,7 +623,7 @@ public static function cleanWhitespace(string $str, string $charlist = " \t\n\r\ return trim(preg_replace('/[\t\n\r\s]+/', ' ', $str), $charlist); } -/** + /** * Tests a string as a Regular Expression (regex) * @return bool true if valid. */