php - 我可以在不自动转义 $url 的情况下使用 simplexml_load_file($url) 吗?

标签 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;”?

谢谢!

最佳答案

正确的做法是:

$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 特殊字符,也没有其他编码。

关于php - 我可以在不自动转义 $url 的情况下使用 simplexml_load_file($url) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094858/

相关文章:

php - 使用 html 表单输入创建静态 html 页面

C#读取网站xml文件

url - 用于说出结果的 Google 搜索参数 (tts)

ios - 用于家长控制浏览的 iPhone 应用程序

javascript - 将php数据输出到jquery数组中?

php - 重新分配mysql用户ID

php - 需要帮助才能正确查询 mysql 数据库 php

php - Dom Xpath 问题

xml - 在 Golang 中解析递归 XML

url - SEO 和 URI 结构