道歉,如果这看起来像重新发布,但今天早些时候我发布了这个问题:PHP for an image gallery pulled from facebook, only grabs the first 25 images
我忘了问我认为是一个小问题。 在这里显示的echo htmlentities标签:
echo htmlentities ('<li class="imgcomments">
<a href="http://www.facebook.com/people/@/'.$Cdata->from->id.'" target="_blank">
<img src="https://graph.facebook.com/'.$Cdata->from->id.'/picture"
align=left border=0 />
</a>
<a href="http://www.facebook.com/people/@/'.$Cdata->from->id.'" target="_blank">
<b>'.$Cdata->from->name.'</a>: </b>'.$Cdata->message.'<br />
<div align="left" style="padding-bottom:10px;">
<small> Posted '.timeSince(strtotime($Cdata->created_time)).' ago</small></div> </li>');
每当我将鼠标悬停在没有评论的图像上时,都没有问题,因为在此代码之后还有一个显示“没有评论”的其他内容。 但是,当我将鼠标悬停在一个有注释的地方时,我会得到与img title属性相同的内容,但它会显示此处链接的整个html代码。 我已经尝试了htmlspecialchars,并使用带有title =“”的span来包装所有html代码。
编辑: 我发现错误,现在我看到了修复方法。问题出现在代码上:
echo '<li><a href="'.$data->source.'" rel="lightbox" title="';
if (property_exists($data, "comments")) {
foreach ( $data->comments->data as $Cdata )
{
echo htmlentities ('<li class="imgcomments">
<a href="http://www.facebook.com/people/@/'.$Cdata->from->id.'" target="_blank">
在第一行,title属性使它显示整个html代码,我假设我将不得不诉诸if / else语句,但如果其他人有更好的想法...