2017-04-05 83 views
0

我试图从我的网站上提取某个产品的平均评论数。该号码将用于Google丰富网页摘要。 问题是网站不是开源的,所以我只能访问.tpl文件。从html代码中获取平均评论数 - 从div数中提取数字?

生成审阅星的html代码的php变量是:$ totalstarshtml。

生成的HTML代码如下所示(例如该利率porduct为4颗星 - 4全明星和一个空的明星:

<div class="FullStar"></div> 
<div class="FullStar"></div> 
<div class="FullStar"></div> 
<div class="FullStar"></div> 
<div class="EmptyStar"></div> 

我尝试使用“如果”条件,但事实并非如此工作打算:

{if $totalstarshtml == '<div class="FullStar"></div><div class="FullStar"></div><div class="FullStar"></div><div class="FullStar"></div><div class="EmptyStar"></div>'} 4 {/if} 

我试着计算了“FullStar”的div类jQuery的,但是这也如预期没有工作(我加了ratingValue类丰富网页摘要微观跨度):

<script type="text/javascript"> 
      $(document).ready(function() { 
      var nb = $('div.FullStar').length; 
      $("span.ratingValue").html(nb); 
     }); 
    </script> 

微观数据的HTML代码,丰富网页摘要是:

<span itemprop="ratingValue">the average review number here</span> 

我还是一个新手,并可能试图咬比我更嚼不烂。

希望有人能帮助我。

回答

2

,如果你在脚本中更改标签

$("span[itemprop = ratingValue]").html(nb); 

参见:https://jsfiddle.net/co309e7u/2/

+0

在的jsfiddle,结果是5,但它应该是4,因为只有4 FullStar的div。 –

+0

@CristiSilaghi有5个,如果你仔细观察:)也可以标记为答案 – Deckerz

+0

对不起,我刚刚注意到了。问题是它确实生成了正确的数字,但是它太晚了,并且没有被谷歌收录,用于丰富的片段。它的“一个”正确答案,只是不是“我的”正确答案。谢谢。 –