You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中var_dump输出含<的字符串截断问题求助

问题解析与解决方案

嘿,我来帮你搞清楚这个问题!

为什么var_dump只显示到RQC7?

这其实不是PHP的问题,而是浏览器的HTML解析在搞鬼!你字符串里的&lt;是HTML实体,浏览器会自动把它解析成<字符。当解析到<lzC;_ytr@ewm6Eo时,浏览器会把这部分当成一个未定义的HTML标签,出于渲染规则,它会隐藏标签内部的内容,所以你看起来只显示了RQC7,但实际上PHP的var_dump已经完整输出了整个字符串。

会不会影响输入验证?

完全不会!
PHP内部存储的变量是完整的原始字符串,var_dump只是输出时的显示问题,和变量本身的内容无关。客户端通过$obj->getSharedSecret()获取到的是完整的共享密钥,输入验证时用的是变量的实际值,不会被浏览器的显示效果干扰。

如何看到完整的字符串?

给你几个简单的方法:

  • 用htmlspecialchars()转义后输出:
    var_dump(htmlspecialchars('RQC7&lt;lzC;_ytr@ewm6Eo'));
    
    这样浏览器会把&lt;显示成原样,不会解析成<,就能看到完整内容了。
  • 查看页面源代码:右键页面→选择「查看页面源代码」,在源代码里能看到var_dump输出的完整原始字符串(源代码不会被浏览器解析成HTML)。
  • 输出到日志文件:
    $secret = 'RQC7&lt;lzC;_ytr@ewm6Eo';
    file_put_contents('debug.log', var_export($secret, true));
    
    打开日志文件就能看到完整的字符串内容。

内容的提问来源于stack exchange,提问作者Rumel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:27:10