我在这里遇到了一些问题。 我正在从Reddit解析JSON数据(例如https://www.reddit.com/r/Chilledout.json);我需要设置一个过滤数据的功能,以删除每个没有媒体属性的帖子。
当我发现要删除哪些节点时,我怎样才能取消'他们并返回一个过滤的phpQuery节点?
以下代码返回
致命错误:无法使用QueryPath \ DOMQuery类型的对象作为数组 在...
PS:在我的代码中无法改变的是这个函数接收一个phpQuery节点;并且也应该返回一个。
function get_track_nodes($body_node){
$selector = '>data >children';
$options = array(
'omit_xml_declaration' => true,
'ignore_parser_warnings' => true,
'convert_from_encoding' => 'auto',
'convert_to_encoding' => 'UTF-8'
);
$post_nodes = qp( $body_node, null, $options )->find($selector);
foreach($post_nodes as $key=>$node) {
$media = qp( $node, null, self::$querypath_options )->find('media')->innerHTML();
if (!$media) unset($post_nodes[$key]);
}
return $post_nodes;
}