我正试图从我的另一个网站上获取内容,该网站运行良好,除了所有链接都不正确之外。
include_once('../simple_html_dom.php');
$page = file_get_html('http://www.website.com');
$ret = $page->find('div[id=header]');
echo $ret[0];
是否有完整的链接而不是所有显示链接的链接?使用preg替换。
$ret[0] = preg_replace('@(http://(['w-.]+)+(:'d+)?(/(['w/_.]*('?'S+)?)?)?)@',
'<a href="$1">http://fullwebsitellink.com$1</a>', $ret[0]);
我想会是上面的样子,但我不明白?
感谢
你的问题并不能真正解释链接的"错误"之处,但我猜你有这样的问题:
<div id="header"><a href="/">Home</a> | <a href="/sitemap">Sitemap</a></div>
你想把它嵌入另一个网站,在那里这些链接需要完全符合域名,比如:
<div id="header"><a href="http://example.com/">Home</a> | <a href="http://example.com/sitemap">Sitemap</a></div>
假设是这种情况,您想要的替换非常简单,甚至不需要regex:查找以"/"开头的所有href属性,然后添加域部分(我将使用http://example.com")到他们开始让他们变得绝对:
$scraped_html = str_replace('href="/', 'href="http://example.com/', $scraped_html);