3v4l.org

run code in 300+ PHP versions simultaneously
<?PHP $list = [ // an array list of string/regex that i want to check "lorem ipsum", // a words "example", // another word "/(nulla)/", // a valid regex "/[,.]/", // a valid regex "^dolor^", // a valid regex "/path/to/dir/", // not a valid regex "[integer]i", // valid regex not implementing a character class ]; $input_string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer quam ex, vestibulum sed laoreet auctor, iaculis eget velit. Donec mattis, /path/to/dir/ nulla ac suscipit maximus, leo metus vestibulum eros, nec finibus nisl dui ut est. Nam tristique varius mauris, a faucibus augue."; $result = []; foreach($list as $v) { if (@preg_match($v, '') === false) { // not a regex, make into one $v = '/' . preg_quote($v, '/') . '/'; } preg_match($v, $input_string, $m); $result[$v] = $m[0] ?? null; } var_export($result);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( '/lorem ipsum/' => NULL, '/example/' => NULL, '/(nulla)/' => 'nulla', '/[,.]/' => ',', '^dolor^' => 'dolor', '/\\/path\\/to\\/dir\\//' => '/path/to/dir/', '[integer]i' => 'Integer', )

preferences:
86.35 ms | 407 KiB | 5 Q