如果列表与当前网站的URL匹配,则从列表中排除链接

时间:2011-07-21 20:36:07

标签: php list url

我创建了一个php文件,其上有一个SEO链接列表,它们托管在我的服务器上。我的所有客户网页都有一个资源页面,其中包含此页面并显示我的链接。我这样做是为了让我更容易添加到我的所有页面的链接。现在我要做的是编写一个代码来搜索我的链接,而不是显示当前网站被访问的代码。

例如:我在网页( www.loonytoons.com )上,我希望我的列表显示除此页面之外的所有链接。它必须为我的所有客户做到这一点。以下是我的列表示例。感谢

<ul id="resources">
    <li><a href="http://www.loonytoons.com/">Loony Toons</a> I want this link to show up on all sites execpt current site</li>
    <li><a href="http://www.theaustinbusinesslawyer.com/">Austin Business Lawyer</a> The Austin Business Lawyer Michael Pruneda can help you with any business related issues or concerns.</li>
</ul>

2 个答案:

答案 0 :(得分:2)

// isset required for win servers (This may not work on all win servers)
if (isset($_SERVER['HTTP_HOST'])){$domain = $_SERVER['HTTP_HOST'];}
if (strpos($link, $domain) === false){echo $link;}

$ link是锚信息的字符串,因此您需要存储阵列中最有可能的所有链接,并将上述内容放入foreach循环中,如下所示:

foreach ($linksarray as $link) {
    // Above code would go here
}

回应底部评论: 你可以,但这将是更多的工作(你需要strpos循环来创建该数组。设置一个数组并让数组打印你的

  • 更容易。

    < / p>

    // [][0] = URL, [][1] = Title, [][2] = Description
    $linkarray = array(
        array('http://url1.com', 'URL1 Title', 'URL2 Description'),
        array('http://url2.com', 'URL2 Title', 'URL2 Description'),
    );
    

    你唯一需要改变的是我原来答案中的第一个代码框改变所有$ link到$ link [0](不在foreach()中)

    然后你的最后一行看起来像:

    if (strpos($link[0], $domain) === false){
        echo '<li class="liclass"><a href="'. $link[0] . '">' . $link[1] . '</a> - ' . $link[2];
    }
    
  • 答案 1 :(得分:0)

    在客户端,您可以使用jQuery隐藏当前网址的链接:

    $('a[href=' + document.URL + ']').hide();