【问题标题】:Php parse always has hrefphp解析总是有href
【发布时间】:2011-06-20 15:51:39
【问题描述】:

我试图在这个 api 中调用我的价格,这不是问题,但问题是价格上有链接而不是常规文本,谁能看到我做错了什么?

<?php 
$x = file_get_contents("http://sandbox.api.shopping.com/publisher/3.0/rest/GeneralSearch?apiKey=authorized-key&trackingId=7000610&categoryId=7185&numItems=8&printers");
$xml = simplexml_load_string($x);
foreach($xml->categories->category->items->product as $item)
{
print '<div style="float: left; width: 120px; padding: 10px; overflow: auto; display: block;">';
print '<a rel="nofollow" onclick="javascript:_gaq.push([\'_trackPageview\', \'/outgoing/article_exit_link/789591\']);" href="'.$item->productOffersURL.'"><img src="'.$item->images->image[0]->sourceURL.'" width="100"></a>';
print '<img src="'.$item->rating->ratingImage[0]->sourceURL.'" width="91">';
print "<br/>".l($item->name, $item->productOffersURL, array(), NULL, NULL, TRUE);
//print "<br/>".l($item->shortDescription, $item->productOffersURL, array(), NULL, NULL, TRUE);
// this is where the prices are.
print "<br/>" .l($item->minPrice, $item->productOffersURL, array(), NULL, NULL, TRUE);
print "<br/>".l($item->maxPrice, $item->productOffersURL, array(), NULL, NULL, TRUE);
print '</div>';
}
?>

这是 dom firebug 正在返回。

<div style="float: left; width: 120px; padding: 10px; overflow: auto; display: block;">

<a href="http://www.shopping.com/Canon-Canon-EOS-400D-Twin-Lens-Kit-Silver-Body-18-55mm-EF-75-300mm-f-4-5-6-Lens/prices~linkin_id-7000610" onclick="javascript:_gaq.push(['_trackPageview', '/outgoing/article_exit_link/789591']);" rel="nofollow"><img width="100" src="http://di1.shopping.com/images/pi/cf/86/d8/58898587-100x100-0-0.jpg?p=p2.48bc03c211719c7871ea&amp;a=2&amp;c=1&amp;l=7000610&amp;t=110620123546&amp;r=1"></a>

<img width="91" src="http://img.shopping.com/sc/pr/sdc_stars_sm_4.5.gif"><br>

<a href="http://www.shopping.com/Canon-Canon-EOS-400D-Twin-Lens-Kit-Silver-Body-18-55mm-EF-75-300mm-f-4-5-6-Lens/prices~linkin_id-7000610">Canon EOS 400D / EOS Rebel XTi Digital Camera with 18-55mm and 75-300mm lenses</a><br>

<a href="http://www.shopping.com/Canon-Canon-EOS-400D-Twin-Lens-Kit-Silver-Body-18-55mm-EF-75-300mm-f-4-5-6-Lens/prices~linkin_id-7000610">598.00</a><br>

<a href="http://www.shopping.com/Canon-Canon-EOS-400D-Twin-Lens-Kit-Silver-Body-18-55mm-EF-75-300mm-f-4-5-6-Lens/prices~linkin_id-7000610">990.00</a>

</div>

【问题讨论】:

  • 用萤火虫检查一下,看看它们是否被包含在&lt;a&gt;
  • 请显示 HTML-Dom (Chrome -> 右键 -> 检查元素)
  • 是的,里面有图片上的完整链接。
  • 如果您发布 DOM 的一部分,这对我们来说会更容易。尝试编写正确的 标签。你的没有关闭。
  • 你可以在这里看到xml文件,它并没有给出任何链接价格的迹象sandbox.api.shopping.com/publisher/3.0/rest/…

标签: php xml api parsing


【解决方案1】:

您的图片标签未关闭。这可能是问题所在。请使用正确的符号

<img /> <!--instead of <img> -->

编辑:

函数 l() 有什么作用?

print "<br/>".l($item->maxPrice, $item->productOffersURL, array(), NULL, NULL, TRUE);

尝试使用

print "<br/>".$item->maxPrice; 

改为

【讨论】:

  • 这是我尝试的第一件事,但它仍然给出相同的结果。
  • 很好用,我之前尝试过,但我遇到了错误,我想我忘记了语法什么的,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
相关资源
最近更新 更多