我正在输出页面上的所有链接,我想让它们成为超链接。
问题是我无法控制源文档的URL。有时它们是相对的,有时它们是绝对的,有时它们是混合的。
是否有一种简单的方法可以使所有相对链接成为绝对的,同时仍保留首先是绝对的链接?
我已经查看了其他问题,他们似乎专注于使用正则表达式或类似的东西将网站域添加到URL的开头,如果所有网址都是相对的,这将正常工作。
如果重要,这是我正在使用的代码:
$html = file_get_contents(-[my url]-);
$doc = new DOMDocument();
libxml_use_internal_errors(true); //to hide error messages
$doc->loadHTML($html);
libxml_clear_errors();
$links = $doc->getElementsByTagName('a');
foreach($links as $link)
{
echo $link->getAttribute('href') . '<br />';
}
答案 0 :(得分:1)
有三种情况:
首先parse_url(来自file_get_contents),然后基于上面三点的每个链接上的简单if/elseis/else