拆分平均评论php

时间:2018-05-03 12:11:31

标签: php amazon

我使用代码通过ASIN代码显示从亚马逊到我的网站的平均评价。一切都很完美,但我只想将“4.5”和“étoiles”分开,只显示“4.5”数字(参见例子)。

我怎么能这样做?

{{1}}

顺便问一下,你有解决方案在星星图标中转换“4.5”吗?

1 个答案:

答案 0 :(得分:2)

首先,当您想从结构化数据中提取某些内容时,请使用结构而不是直接字符串方法。在您的情况下,使用DOMDocument和DOMXPath类:

$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile($url);
$xp = new DOMXPath($dom);

$stars = explode(' ', ltrim($xp->evaluate('string(//span[@class="a-size-base a-color-secondary"])')))[0];
echo $stars;

然后你只需修剪并拆分字符串以提取4.5。

demo

请注意,它也可以使用XPath完成:

$stars = $xp->evaluate('substring-before(normalize-space(//span[@class="a-size-base a-color-secondary"])," ")');
相关问题