检查链接交换

时间:2010-10-05 17:09:16

标签: php html-parsing

我与其他网站进行了链接交换。 3天后,该网站删除了我的链接。

是否有一个简单的PHP脚本来帮助我控制链接交换并在我的链接被删除时通知我?

我需要尽可能简单,而不是整个广告。系统经理。

2 个答案:

答案 0 :(得分:4)

如果您知道广告(链接)所在的网页的网址,那么您可以使用Simple HTML DOM Parser获取该网页的所有链接,然后使用php in_array功能检查您的链接是否存在于该数组中。您可以使用crontab每天在此基础上运行此脚本。

// Create DOM from URL
$html = file_get_html('http://www.example.com/');

// Find all links 
$allLinks = array();
foreach($html->find('a') as $element) {
    $allLinks[] =  $element->href;
}

// Check your link. 
$adLink = "http://www.mylink.com";
if ( in_array($adLink , $allLinks ) ) {
    echo "My link exists.";
} else {
    echo "My link is removed.";
}

答案 1 :(得分:0)

从技术上讲,除非您从他们的网站获得流量或者查看他们的网站,否则无法知道某人的网站是否有链接到您的网站。

你最好的选择是:

每次链接到图像时都会记录的脚本。通过混合PHP和.htaccess

,这很简单
.htaccess:

RewriteRule path/to/myImage.jpg path/to/myScript.php

myScript.php:

/* Record (database, file, or however) that they accessed */
header("Content-type: image/jpeg");
echo file_get_contents("path/to/myImage.jpg");

或者每X分钟/小时/天查看其网站的脚本,并在返回的HTML中搜索指向图像的链接。这里的挑战是使脚本定期运行。这可以使用crontab或类似的

来完成
myScript.php:

$html = file_get_contents("http://www.theirsite.com");
if(strpos($html, 'path/to/myImage.jpg') !== FALSE)
    /* Happiness */
else
    /* ALERT! */