我正在使用一个 XML 提要,作为其节点之一,它有一个类似于以下的 URL 字符串:
http://aflite.co.uk/track/?aid=13414&mid=32532&dl=http://www.google.com/&aref=chris
我知道 & 符号会在 XML 中引起很多问题,应该使用 &
而不是裸 &
来转义。因此,我将 php 更改为如下内容:
<node><?php echo ('http://aflite.co.uk/track/?aid=13414&mid=32532&dl=http://www.google.com/&aref=chris'); ?></node>
然而,当这生成 XML 提要时,字符串会以完整的 &
出现
所以实际的 URL 不起作用。如果这是一个非常基本的误解,我们深表歉意,但一些指导会很好。
我也尝试过使用 %26
而不是 &
但仍然遇到同样的问题。
最佳答案
如果您要向 XML/HTML 中插入内容,您应该始终使用 htmlspecialchars功能。这会将您的字符串转义为正确的 XML 语法。
但是你遇到了第二个问题。 您已将第二个网址添加到第一个网址。 这也需要转义为 url 语法。 为此你需要使用 urlencode .
<node><?php echo htmlspecialchars('http://aflite.co.uk/track/?aid=13414&mid=32532&aref=chris&dl='.urlencode('http://www.google.com/')); ?></node>
关于php - 创建 URL 字符串时 XML 中的 & 符号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519457/