3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_dump(filter_var('http://www.google.fr', FILTER_VALIDATE_URL)); var_dump(filter_var('www.google.fr', FILTER_VALIDATE_URL)); var_dump(filter_var('https://www.google.fr', FILTER_VALIDATE_URL)); var_dump(filter_var('google.fr', FILTER_VALIDATE_URL)); $regex = "((https?|ftp)\:\/\/)?"; // SCHEME $regex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // User and Pass $regex .= "([a-z0-9-.]*)\.([a-z]{2,3})"; // Host or IP $regex .= "(\:[0-9]{2,5})?"; // Port $regex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?"; // Path $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"; // GET Query $regex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?"; // Anchor var_dump(preg_match("/^$regex$/", 'http://www.google.fr')); var_dump(preg_match("/^$regex$/", 'www.google.fr')); var_dump(preg_match("/^$regex$/", 'https://www.google.fr')); var_dump(preg_match("/^$regex$/", 'google.fr')); var_dump(preg_match("/^$regex$/", 'www.example.com/etcetc')); var_dump(preg_match("/^$regex$/", 'test.fr/test-test.html?test=1e#test')); var_dump(preg_match("/^$regex$/", 'http://www.example.com/etcetc'));

preferences:
36.92 ms | 402 KiB | 5 Q