simplexml_load_file 无法从 URL 获取数据
simplexml_load_file not able to fetch data from a URL
我正在使用 simplexml_load_file
函数从包含 XML 内容的 URL 中获取数据。 URL参数少,simplexml_load_file
正常工作。
但是有几个参数包含 &
并且对于这些 simplexml_load_file
函数不起作用。这是我的代码。我尝试了 urlencoding
函数,但即使是这个也不起作用。这就是我的代码的样子
$api_url = urlencode($api_url);
$xml = simplexml_load_file($api_url);
这就是 URL 的样子
https://atlas.atdw-online.com.au/api/atlas/products?key=MYKEY&ar=Merimbula & Sapphire Coast&cats=ATTRACTION&size=10
在上面 URL 你可以看到参数 ar 的值包含 & 并且 simplexml_load_file
不适用于这些类型的参数。
对此有任何建议将不胜感激。
正如您在 URL 中看到的,与号 (&) 有两个功能:
- 作为 URL parameters.
的分隔符
- 作为此类参数值的一部分的字符。
为了避免问题中出现的歧义,您通常 urlencode() URL 参数值。
然后你会做类似 $ar = urlencode('Merimbula & Sapphire Coast');
的事情。如果您无法控制 ar
参数的构造方式,那么您必须从“Merimbula & Sapphire Coast”中删除 & 符号并将其替换为其他内容(例如 'and')。
我正在使用 simplexml_load_file
函数从包含 XML 内容的 URL 中获取数据。 URL参数少,simplexml_load_file
正常工作。
但是有几个参数包含 &
并且对于这些 simplexml_load_file
函数不起作用。这是我的代码。我尝试了 urlencoding
函数,但即使是这个也不起作用。这就是我的代码的样子
$api_url = urlencode($api_url);
$xml = simplexml_load_file($api_url);
这就是 URL 的样子
https://atlas.atdw-online.com.au/api/atlas/products?key=MYKEY&ar=Merimbula & Sapphire Coast&cats=ATTRACTION&size=10
在上面 URL 你可以看到参数 ar 的值包含 & 并且 simplexml_load_file
不适用于这些类型的参数。
对此有任何建议将不胜感激。
正如您在 URL 中看到的,与号 (&) 有两个功能:
- 作为 URL parameters. 的分隔符
- 作为此类参数值的一部分的字符。
为了避免问题中出现的歧义,您通常 urlencode() URL 参数值。
然后你会做类似 $ar = urlencode('Merimbula & Sapphire Coast');
的事情。如果您无法控制 ar
参数的构造方式,那么您必须从“Merimbula & Sapphire Coast”中删除 & 符号并将其替换为其他内容(例如 'and')。