我正在尝试使用SimplePies "$feed->set_feed_url (array());"
函数,但我很难理解为什么它不接受我的值。
当我手动添加URLS(即直接在下面)时,它们工作得很好。 Feed会通过ok并根据需要显示Feed。
$feed ->set_feed_url (array(
'http://www.theverge.com/tag/rss',
'http://feeds.ign.com/ign/all'
));
我在数据库表中有URL,我正在使用while循环正常拉出。然后我附加一个逗号并删除尾随的逗号,以便它对SimplePie数组很好。像这样:
while($row = mysqli_fetch_array($pullAllAccountsDoIt)){
$result4mdb .= $row[0] . ",";
}
$result4mdb = substr($result4mdb, 0, strlen($result4mdb) -1);
echo "the result is: " . $result4mdb;
当我执行此操作并回显“ $ result4mdb ”时,会打印出:the result is: http://www.gamespot.com/feeds/mashup/,http://www.theverge.com/tag/rss
意味着变量是好的,并打印出我需要的东西。到现在为止还挺好。 然后我进入simplePie代码,像我这样输入我的变量:
$feed ->set_feed_url (array($result4mdb));
没有任何反应。我没有任何错误或任何错误,只是页面保持空白而没有任何结果。
为了进行测试,我做了一个gettype($result4mdb);
,它告诉我变量是一个“字符串”,而且,当回显时,这个变量的输出是它从数据库中获得的URL,所以我知道整个到目前为止的过程正在发挥作用。
为了进一步测试,我转到数据库并删除其中一个URL,以便在查询时返回一个值,并且所有突然的SimplePie都可以工作。
我一直在寻找美好的一天半,尽可能地尝试不同的东西和谷歌搜索,但无济于事。我只是不能得到它。
我的智慧结束了。任何帮助,为什么这不起作用是非常赞赏。
提前感谢大家
答案 0 :(得分:1)
您只是生成一个包含逗号分隔值的字符串。你需要的是一个数组,所以只需explode()
你的字符串:
变化:
$feed ->set_feed_url (array($result4mdb));
到
$feed ->set_feed_url (explode(',', $result4mdb));
更优雅的版本,更改:
while($row = mysqli_fetch_array($pullAllAccountsDoIt)){
$result4mdb .= $row[0] . ",";
}
到
while($row = mysqli_fetch_array($pullAllAccountsDoIt)){
$result4mdb[] = $row[0];
}
这样您就不会创建需要被挖掘的字符串,而是首先创建一个数组。