我有一个锚
echo anchor('site/getFeed/'.urlencode("http://feeds.reuters.com/news/artsculture"),'Tehnology')
当我点击它时,会将我重定向到控制器中的getFeed函数:
function getFeed($feed_url){
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);}
但它给了我这个错误:file_get_contents(http :):无法打开流:无效的参数 和致命错误:未捕获异常'Exception',消息'String无法解析为XML。 如果我将链接(http://feeds.reuters.com/news/artsculture)直接放在file_get_contents('http://feeds.reuters.com/news/artsculture')中,它可以工作,但我不想这样做,因为我有3个不同链接的锚点。
答案 0 :(得分:0)
在传递网址之前,最好对网址进行编码。
echo anchor('site/getFeed/'.urlencode("http://feeds.reuters.com/news/artsculture"),'Tehnology');
或者:
echo anchor('site/getFeed?url='.urlencode("http://feeds.reuters.com/news/artsculture"),'Tehnology');
在控制器中
function getFeed()
{
$feed_url = $this->inout->get("url");
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);
}