Php 字符串不是空的,但在使用var_dump时不显示

Php 字符串不是空的,但在使用var_dump时不显示,php,xml,curl,Php,Xml,Curl,目前,我正在尝试返回一个公共可用的XML资源,但当我使用var\u dump($resource)时,它返回string(4390)“ 我正在使用CURL检索资源,它成功地返回了其他资源。很明显,这里有一些东西(正如你所看到的,有4390个字符!),但它并没有成功返回 我尝试过用utf8\u encode来包装它,尽管这没有什么不同 我还尝试使用print\u r和标记返回它,尽管这也没有返回任何内容 echo bin2hex($resource); 这里的任何帮助都会很好 要显示字符串中不可

目前,我正在尝试返回一个公共可用的XML资源,但当我使用
var\u dump($resource)
时,它返回
string(4390)“

我正在使用CURL检索资源,它成功地返回了其他资源。很明显,这里有一些东西(正如你所看到的,有4390个字符!),但它并没有成功返回

我尝试过用
utf8\u encode
来包装它,尽管这没有什么不同

我还尝试使用
print\u r
标记返回它,尽管这也没有返回任何内容

echo bin2hex($resource);

这里的任何帮助都会很好

要显示字符串中不可显示的字符,请不要使用
var\u dump
,而是打印一个

echo htmlspecialchars($result);
使用,但上面的链接提供了更多的选择。选择最适合您调试需要的

编辑:如果您实际输出的是HTML或XML元素,请使用:


xml中是什么类型的文本?如果只有html标记,请尝试查看internet页面的源代码。可能它们不会显示,因为您的浏览器解释html而不显示标记,或者您可以使用而不是var_dump来显示调试输出。它将以最可读的方式显示有关转储变量的最多信息。不用说,它也可以毫不费力地显示html

截图:



(来源:)

仅仅因为你看不到字符,并不意味着它们不在那里。例如,如果您在浏览器中查看此文件,其中有4390个空格,您将只看到一个。如果您直接访问它,它不是空的,而是存储了大量XML数据。我刚刚将XML复制到一个字符计数器中,它返回4384个字符。这将返回随机加载的字符,即3C3F786D6C2076657273696F6E3D22312E330223F3E0D0A0D…每个字符都是一个(
00
to
FF
)。您可以使用更好的十六进制转储函数,该函数将同时显示:十六进制字符和可打印字符(如果您难以阅读)。请看链接的问题,它有多个答案和更多的选择。谢谢,尽管我们真正需要做的是在脚本中使用这些XML数据。它显然存在并正在被返回,尽管我无法使用它。你对XML有什么问题?@Ollie我和你有同样的问题。我想使用从服务器获取的XML字符串。当我尝试创建对象时,我得到一个空对象。我如何解决它?它看起来是这样的:
您正在查找
htmlspecialchars
,请参阅我的。