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')); var_dump(preg_match("/^$regex$/", 'test'));
Output for git.master, git.master_jit, rfc.property-hooks
string(20) "http://www.google.fr" bool(false) string(21) "https://www.google.fr" bool(false) int(1) int(1) int(1) int(1) int(1) int(1) int(1) int(0)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
47.73 ms | 401 KiB | 8 Q