我最近一直在研究一种工具。它从网站上获取所有链接地址。
我的问题是html代码中的链接有时会有所不同:
我需要使所有链接相同:
/index.php -> http://www.website.com/index.php
index.php -> http://www.website.com/index.php
http://www.website.com/index.php -> http://www.website.com/index.php
感谢您的帮助。
答案 0 :(得分:1)
欢迎使用GoogleOverflow.com。
以下是使用PHP和正则表达式解析HTML链接的完整教程:http://www.the-art-of-web.com/php/parse-links/
答案 1 :(得分:1)
Here's a function,它将返回给定基本(当前)URL和相对URL的绝对URL。
答案 2 :(得分:1)
您需要检查是否存在base标记。如果找到它,则指定基本URL(否则,基本URL与浏览器指向的路径相同,直到最后一个/)。
答案 3 :(得分:1)
<强>需要:强>
$domain
=主题网站域
$path
=您要查找的相关链接的文档或字符串。
<强>返回:强>
$url
=将其中的链接转换为具有给定域的正确URL的doument或字符串。
<强>代码:强>
$url = preg_replace('<a\shref="([\/\?\w\.=\&]+)"([\s]rel="(\w+)")*>/', '<a href="http://{$site_domain}$1" rel="$3">' $path)
祝你好运,让我知道它是怎么回事。