我可以使用simplexml_load_file($ url)而无需自动转义$ url吗?

时间:2012-04-10 19:05:53

标签: php xml url

我正在尝试将simplexml_load_file($ url)与

一起使用
$url = "http://www.example.com/dir/file.php?id=test&output=xml";

现在,不幸的是,simplexml_load_file()会自动转义所有的&符号并用“& amp;”替换它们 - 这反过来会破坏file.php,因为有些奇怪的原因它无法处理“& amp;”但只有常规的&符号。

是否有可能以某种方式加载文件而不转义URL,以便我保持常规&而不是“& amp;”s?

谢谢!

3 个答案:

答案 0 :(得分:1)

正确的方法是:

$xml = simple_xml_load_file(file_get_contents("http://www.example.com/dir/file.php?id=test&output=xml"));

修改

我尝试过以下代码:

$xml = new SimpleXMLElement(file_get_contents('http://www.example.com/dir/file.php?id=test&output=xml'));

测试反对我们的XML API。我用嗅探器检查了请求。在请求中没有html特殊字符,也没有其他编码。

答案 1 :(得分:0)

file()-function,如果您希望将数据存储到数组中。

答案 2 :(得分:0)

我发现这有效:

$xml = simplexml_load_string( file_get_contents( 'http://my.url.com' ) );