【问题标题】:Adding referrals to links向链接添加引荐
【发布时间】:2011-01-24 12:50:48
【问题描述】:

我正在尝试动态地将一个链接添加到 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'));
}

【问题讨论】:

  • 我不知道,什么不起作用?
  • 它不会向链接添加任何内容
  • $url指向同一个服务器吗?
  • 如果您打算使用相应的saveHTML 方法来操作HTML,则应该使用loadHTMLFile 而不是load
  • 我不能使用 loadHTMLfile 因为搞乱了 XML 格式

标签: php xml rss href setattribute


【解决方案1】:

尝试使用removeAttributesetAttribute 之后的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);

【讨论】:

  • $url 是 rss 提要位置
  • 好的我更新一下,这是一个例子,你可以看看idea
  • 不,它仍然表现得好像中间什么都没有发生:(
【解决方案2】:

刚刚回答了我自己的问题。 这就是我想做的事情

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

?>

有时你只是有一点时间,哈哈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 2020-05-08
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多