- strpos: documentation ( source)
- microtime: documentation ( source)
- preg_match: documentation ( source)
- number_format: documentation ( source)
<?php
$time = microtime(true);
for ($i = 0; $i < 1000000; $i++) {
preg_match('/^(http|https)?:?\/\//', 'https://stackoverflow.com/questions/20248666/in-this-case-which-is-better-in-matching-regular-expression-or-parse-url');
}
echo number_format(microtime(true) - $time, 10), "\n";
$time = microtime(true);
for ($i = 0; $i < 1000000; $i++) {
strpos('https://stackoverflow.com/questions/20248666/in-this-case-which-is-better-in-matching-regular-expression-or-parse-url', 'https://') === 0
|| strpos('https://stackoverflow.com/questions/20248666/in-this-case-which-is-better-in-matching-regular-expression-or-parse-url', 'http://') === 0
|| strpos('https://stackoverflow.com/questions/20248666/in-this-case-which-is-better-in-matching-regular-expression-or-parse-url', '//');
}
echo number_format(microtime(true) - $time, 10);