2012-07-14 15 views
0

我有一個創建一個XML格式的PHP代碼,它工作正常,但它攪亂了&並將其轉換爲&將XML文檔保存到磁盤如何在sitemap.xml中處理&?

我用這個代碼把我的網址到XML:

ヶ輛($ FINAL_URL);

和XML文件被打開時,它顯示

index.php?route=product/product&path=37&product_id=1101515800&pdescription

我怎樣才能正確地格式化呢?

+1

你爲什麼在網址上使用'htmlentities'?改爲使用'urlencode'。 – j0k 2012-07-14 19:20:13

+1

您是在XML編輯器還是在文本編輯器中打開XML文件?如果您看到原始XML,則&而不是&實際上是正確的XML語法。 – 2012-07-14 20:35:48

+0

@ j0k:他希望在XML的上下文中轉義URL,而不是在URL的上下文中,所以儘管htmlentities()比urlencode()更好。 – 2012-07-14 20:37:34

回答

4

代碼工作正常。 XML中的&符號必須始終編碼爲&。您不必擔心,因爲使用XML解析器讀取文件的任何人都會自動將其解碼爲&。唯一需要擔心的是如果有人在不使用真正的解析器的情況下閱讀文件(例如使用正則表達式),並且此論壇的定期追隨者會知道這是一件非常危險的事情。