Zend说这个URI无效

时间:2011-11-15 10:24:20

标签: php zend-framework url

我正在使用Zend Framework生成Feed。

当我设置如下链接时,我收到错误

$feed = new Zend_Feed_Writer_Feed;
$url = "http://www.example.com/search?s=chris|gayle|pics&device=1"
$feed->setLink($url);

我通过Zend_Uri.php和Http.php搜索过,我无法弄清楚问题。

  

异常'Zend_Feed_Exception',消息'参数无效:   参数必须是非空字符串和有效的URI / IRI'

3 个答案:

答案 0 :(得分:3)

|是不允许的。请改用%7C

有关详细信息,请参阅http://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters

使用urlencode对网址进行编码。这将确保所有字符都正确编码为标准URI。

http://php.net/manual/en/function.urlencode.php

答案 1 :(得分:2)

您可能需要对URI中的值进行urlencode

正确的URI将是“http://www.example.com/search?s=chris%7Cgayle%7Cpics&device=1”

只需使用urlencode()或rawurlencode();编码URI部分。

$url = "http://www.example.com/search?s=".urlencode("chris|gayle|pics")."&device=1"

答案 2 :(得分:2)

根据Which characters make a URL invalid? |不是有效的符号。

要在网址中包含这些字符,您必须对网址进行编码。您可以使用urlencode方法执行此操作。