是否可以输出'&'登录xml文件?

时间:2011-02-20 11:47:57

标签: php html xml browser encoding

我有一个生成xml文件并在屏幕上打印的php。

在其他变量中,它会打印一个Image链接。

问题是,如果此图片链接有'&'其中的字符,我得到一个xml错误,因为它没有正确编码。

所以我通过用&替换&符号来解决这个问题。

Atleast我认为它已经解决了,现在图像的链接就像这样:

  www.domain.com/phones & equipment/img1.jpg

导致找不到404文件。

真正的道路是

  www.domain.com/phones & equipment/img1.jpg

那我怎么解决呢? 我不想更改文件夹名称,我在创建文件夹时根本就不知道。

由于

6 个答案:

答案 0 :(得分:4)

如果是网址,您可能需要URL encode代替:

www.domain.com/phones%20%26%20equipment/img1.jpg

答案 1 :(得分:1)

尝试

www.domain.com/phones+%26+equipment/img1.jpg

答案 2 :(得分:1)

您应该使用php urlencode()函数对该链接进行url编码。 '&'的代码是“%26”。

答案 3 :(得分:1)

此外,如果您检查有关URL / URI的IANA RFC,您将看到空格字符不是有效字符,并且不应出现在REQUEST URI中。从SEO角度来看,像www.domain.com/phones-and-equipment/img1.jpg这样的网址也会非常有用。

ADDENDUM:例如,请查看第2页“{3}}的”不安全“部分,了解不可打印和非US-ASCII字符不安全的原因。

答案 4 :(得分:0)

使用html_entity_decode&转换回&

请参阅http://php.net/manual/en/function.html-entity-decode.php

答案 5 :(得分:0)

XML文件中&符号的正确表示为&。如果这不起作用,问题在于正在读取XML文件并引用URI的代码。