2011-01-24 1 views
0

Я пытаюсь динамически добавлять ссылку на начало всех ссылок в RSS-канале.Добавление рефералов в ссылки

До сих пор у меня есть такое, что выглядит так, как будто оно должно работать. Что мне здесь не хватает?

<?php 
$id = $_GET['id']; 
$url = $_GET['url']; 

$xml = new DOMDocument(); 
$xml->load("$url"); 
foreach($xml->getElementsByTagName('a') as $link) { 
$link->setAttribute('href', 'http://$id.refsite/url/' . $link->getAttribute('href')); 
} 
echo $xml->saveXML(); 
?> 

редактировать: .. этот раздел не отображается, чтобы делать что-нибудь

foreach($xml->getElementsByTagName('a') as $link) { 
$link->setAttribute('href', 'http://$id.refsite/url/' . $link->getAttribute('href')); 
} 
+1

Я не знаю, что не работает? – deceze

+0

ничего не добавляет к ссылкам – DeadLizard

+0

Указывает ли URL-адрес на тот же сервер? – Shikiryu

ответ

0

попробовать использовать removeAttribute и после setAttribute HREF как:

$get_url = $link->getAttribute('href'); 
    $newURL= "http://$id.refsite/url/".$get_url; 

    //remove and set href attribute  
    $link->removeAttribute('href'); 
    $link->setAttribute("href", $newURL); 
+0

$ url - это местоположение rss-канала – DeadLizard

+0

ok, я обновляю это, это пример, вы можете посмотреть на идею –

+0

nope, она все еще действует, как будто ничего не происходит посередине :( – DeadLizard

0

Просто ответил мой собственный вопрос. Это то, что я пытался сделать

<?php 
    $id = $_GET['id']; 
    $url = $_GET['url']; 
    $page = file_get_contents("$url"); 
    $pagefixed = str_replace("http://","http://$id.refsite/url/","$page"); 
    echo $pagefixed; 

?> 

иногда просто есть момент, лол