浏览器不转换& (&)通过URI传递时

时间:2013-02-23 14:15:40

标签: php xml rss uri ampersand

我有一个RSS 2.0 Item元素,需要一个RSS链接才能验证。我想在link元素中插入一个URI来链接到我网站上的页面。在此URI中,我使用&而不是&来分隔我通过URI传递的不同参数。当我这样做时,RSS能够被验证,但是当我将链接元素中的URI复制并粘贴到浏览器中时,浏览器不会将其转换为&来表示URI参数的分离。

我使用的XML编码是UTF-8。

我使用的URI是:

http://www.stacks.co.uk/rapmusic/albums.php?echonest_id=ARD5VN51187B9B8D29&deezer_id=3505&artist_name=Jamie+Foxx&artist_image=http%3A%2F%2Fuserserve-ak.last.fm%2Fserve%2F_%2F95148.jpg

我还尝试使用%26代替&,但即使这样也不允许我转到我的URI。

1 个答案:

答案 0 :(得分:0)

为了不破坏RSS XML,您始终需要在带参数的网址中使用&而不是&。为源呈现RSS时,它会自动将ASCII符号转换为可用的URL等效项;即:

http://example.com/script.php?param1=foo&param2=bar

将成为:

http://example.com/script.php?param1=foo&param2=bar

但是,如果你看一下实际的XML,它仍会显示解码的值 - 所以不要让它欺骗你。我大约一个月前也有同样的问题。

相关问题