我正在使用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'
答案 0 :(得分:3)
|
是不允许的。请改用%7C
。
有关详细信息,请参阅http://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters
使用urlencode
对网址进行编码。这将确保所有字符都正确编码为标准URI。
答案 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方法执行此操作。