Php 有没有办法从这段代码中提取前n条注释?
我想做的是,从一个页面的特定帖子中提取评论列表,现在我想限制评论的数量,比如100或200条,因为一些帖子的评论超过了50k,这会扼杀我的脚本:\你可以尝试限制脚本中的Php 有没有办法从这段代码中提取前n条注释?,php,facebook,Php,Facebook,我想做的是,从一个页面的特定帖子中提取评论列表,现在我想限制评论的数量,比如100或200条,因为一些帖子的评论超过了50k,这会扼杀我的脚本:\你可以尝试限制脚本中的while子句,比如: $facebook = new Facebook(array( 'appId'=>'','secret'=>'' )); $post = "10152390205162139"; $comments = array(); $done = false; $options = array()
while
子句,比如:
$facebook = new Facebook(array(
'appId'=>'','secret'=>''
));
$post = "10152390205162139";
$comments = array();
$done = false;
$options = array();
$path = "/".$post.'/comments';
while(!$done){
try{
$data = $facebook->api($path,'GET',$options);
}catch(FacebookApiException $e){
echo $e->getMessage();
$data = null;
$done = true;
}
if(!is_null($data)){
$comments = array_merge($comments, $data['data']);
if(isset($data['paging']['next']) && !empty($data['paging']['next'])){
$parts = parse_url($data['paging']['next']);
$path = $parts['path'];
parse_str($parts['query'], $options);
} else {
$done = true;
}
}
}
while(!$done | | count($comments)有一个选项,所以您可能只需要更改:
while (!$done || count($comments) <= 200) {
...
}
致:
成功了,谢谢:)顺便问一下,他们是1对5还是n对n-5?curious@avinashizhere如果你是这个意思的话,还有一个offset
选项。是的,如果我也可以使用offset,那就太好了:)@avinashiz你可以,但是使用例如选项可能更有趣,因为或直到选项,因为随着实时添加注释,分页可能会发生很大变化。你能告诉我吗?我搜索的sice n没有成功:(
$options = array();
$options = array('limit' => 100);