0

我们正在尝试创建一个引用系统,外部网络发布者可以在其中将一些 html 放在他们网站上的页面上,该页面链接回我们网站上的特定产品页面。就这个问题而言,我们称其为“徽章”。

一旦他们插入了徽章,我们想要识别它,然后抓住 <h1> 和第一个 <p> 作为预告片,以包含从我们网站到他们的网站的链接,并将所有这些内容写入我们的数据库。然后,我们的用户可以看到他们页面的标题和第一位,然后决定是否要查看更多内容。

这是我们所做的(恐怕不多):

<a href="http://www.mysite.com/abc.html">
<img alt="abc" src="http://www.mysite.com/logo.gif" style="width:200px;height:100px" />       
</a>

我们计划构建一个管理页面来完成最后一部分的抓取 <h1> 和 <p> 并将其发布到实时数据库等,我们稍后会解决这个问题。

但是,中间的步骤(识别出这段html已经被使用过)我们就不知所措了。

这是我们应该通过日志文件做的事情吗……我什至不知道如何开始考虑它。

从哪里开始解决这个问题的一点方向会非常有帮助。

提前致谢!!

4

1 回答 1

2

这是一种方法。

你给他们的 HTML 看起来像:

<a href="http://www.mysite.com/abc.html">
    <img alt="abc" src="http://www.mysite.com/logo.php" style="width:200px;height:100px" />       
</a>

注意说logo.php,不是logo.gif

logo.php将存在于您的服务器上。其目的有两个:

  1. 收集有关持有<img>标签的页面的信息
  2. 加载并输出 logo.gif,以便用户按预期看到图像。

如果您将该 html 嵌入到某处的网页中,logo.php 将包含有关图像请求来源的信息。具体来说,$_SERVER['HTTP_REFERER']将为您提供 img 标签所在页面的完整 URL。然后由您决定如何处理和存储该信息。

我不知道你想做什么,但一个非常简化的 logo.php 看起来像这样:

<?php
$url = $_SERVER['HTTP_REFERER'];

// do something with $url... 
// it will be something like "http://theirsite.com/wherever/they/pasted/the.html"

// now output the logo image...
header("Content-Type: image/gif");
echo file_get_contents("/path/to/logo.gif");

请记住,每次有人使用图像标签点击他们的页面时,都会运行 logo.php。所以不要意外地在您的网站上创建 10000 个链接回他们的网站 :)

于 2013-01-10T23:11:46.763 回答