<?php $html = <<< HTML <html> <base> <base href="http://example.com"/> </head> <body> <a href="//foo">foo</a> <a href="bar">bar</a> <a href="http://somewhere.else">somewhere else</a> <a href="tel://911">halp!</a> <a href="mailto:spam.pls@example.com">spam me</a> <a href="javascript:alert('hi')">say hi</a> </body> </html> HTML; $dom = new DOMDocument; $dom->loadHTML($html); $xpath = new DOMXPath($dom); $base = $xpath->evaluate('string(/html/head/base/@href)'); foreach ($xpath->evaluate('//a/@href') as $link) { if (strpos($link->nodeValue, 'http') === 0) { echo $link->nodeValue, PHP_EOL; } elseif (strpos($link->nodeValue, '//') === 0) { echo $base, substr($link->nodeValue, 1), PHP_EOL; } elseif (strpos($link->nodeValue, ':') === FALSE) { echo $base, '/', $link->nodeValue, PHP_EOL; } }
You have javascript disabled. You will not be able to edit any code.