我试图做一个脚本来检查是否有一个网页反向链接到我的网页。我已经找到了这个脚本,但问题是,它返回的错误消息“没有找到反向链接”,即使有一个反向链接。有人能告诉我这个剧本有什么问题吗?下面是我使用的脚本:
require('simple_html_dom.php');
function CheckReciprocal( $targetUrl, $checkLinkUrl, $checkNofollow = true )
{
$html = file_get_html($targetUrl);
if (empty($html))
{
//@ Could not load file
return false;
}
$link = $html->find('a[href^='.$checkLinkUrl.']',0);
if (empty($link))
{
//@ Link not found
return false;
}
if ( $checkNofollow && $link->hasAttribute('rel') )
{
$attr = $link->getAttribute('rel');
return (preg_match("/\bnofollow\b/is", $attr) ? false : true);
}
return true;
}
$targetUrl = 'http://example.com/test.html';
$checkLinkUrl = 'http://mysite.com';
if ( CheckReciprocal($test, $checkLinkUrl) )
{
echo 'Link found';
}
else { echo 'Link not found or marked as nofollow'; }
谢谢大家!
2条答案
按热度按时间slsn1g291#
我不知道simple_html_dom.php的$html-〉find()是如何工作的,因为我从来没有使用过它,但似乎你的问题就在那里。我相信DOMDocument +正则表达式。
只是写了一个函数并测试了它,只需要在$url上使用纯域+任何你想要的,不要担心http(s)或www之类的东西:
如果你不喜欢它,但仍然想使用simple_html_dom,只要确保find()是如何工作的,因为如果它只匹配精确的值,那可能会很麻烦。
ljo96ir52#
批量锚文本和Dofollow / Nofollow检查器
它允许您根据以下条件检查反向链接:
用途:
项目文件:https://github.com/ercanatay/Backlink-Checker.git