Исключить ссылку из списка, если она соответствует URL текущего сайта - PullRequest
1 голос
/ 22 июля 2011

Я создал 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 ]

2 голосов
/ 22 июля 2011
// 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 для создания этого массива. Было бы проще просто установить массив и заставить массив печатать ваши

.
// [][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];
}
0 голосов
/ 22 июля 2011

На стороне клиента вы можете использовать jQuery , чтобы скрыть ссылки для текущего URL:

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