2013-02-23 53 views
0

我有一個RSS 2.0項目元素,它需要鏈接才能驗證RSS。我想在鏈接元素中插入一個URI來鏈接到我網站上的一個頁面。在此URI中,我使用&而不是&來分隔我通過URI傳遞的不同參數。當我這樣做時,RSS能夠被驗證,但是當我將鏈接元素中的URI複製並粘貼到瀏覽器中時,瀏覽器不會將其轉換爲&來表示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。

+0

如何編碼特殊字符,以及如何解碼它們?字符串wuery需要用'&'分隔,但是如果你想通過'7'作爲GET數據,你需要將它編碼成'%26' – Dharman 2013-02-23 14:30:36

回答

0

爲了不破壞RSS XML,您將始終需要在帶參數的URL中使用&而不是&。 RSS提交時,它會自動將ASCII符號轉換爲可用的URL等價物;即此:

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

將變爲:

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

如果你看一下實際的XML,但是,它仍然會顯示解碼值 - 所以不要讓它愚弄你。一個月前我有同樣的問題。

+0

OMG謝謝。所有這段時間兩個小時,我複製並粘貼來自veiw源的URI,而不是實際複製和粘貼HTML頁面的URI。我非常沉迷於認爲用戶將使用視圖源來查找放置在鏈接元素中的URI,我忘記了他們實際上會查看實際的HTML頁面。 – Human 2013-02-23 14:36:16

+0

我想我花了好一個小時也抓到我的頭!到了我正考慮重寫我的PHP框架以將URL包裝在'CDATA'中的階段:P – hohner 2013-02-23 14:40:16