Php 为什么substr()不返回正确的值?

Php 为什么substr()不返回正确的值?,php,Php,我有以下代码: $string = "aaa<test>xxx</test>bbb"; echo substr($string, 9); $string=“aaaxxxbbb”; echo substr($string,9); 因此,应: xxxbbb 与此同时,我只收到: xxxbbb 标签怎么了?为什么这个函数会自动裁剪呢! 如果我将

我有以下代码:

$string = "aaa<test>xxx</test>bbb";
echo substr($string, 9);
$string=“aaaxxxbbb”;
echo substr($string,9);
因此,应: xxxbbb

与此同时,我只收到: xxxbbb

标签怎么了?为什么这个函数会自动裁剪呢!
如果我将<替换为[works…我只想在变量中获得一个结束标记。

如果在命令行中执行此操作,效果很好。是否通过浏览器查看输出?浏览器可能试图解析标记,然后忽略它。

如果查看源代码,还将有
标记。它在浏览器中不可见,因为它已被渲染为“无”

要打印此类结果,请使用

var_dump( substr($string, 9) );

这是因为浏览器将
作为html标记,所以您无法在浏览器中看到它


查看源代码对您肯定有帮助。

如果您在浏览器中检查php文件的查看源代码(chrome中的crtl+u),您可以看到

xxx</test>bbb
xxxbb

您可以看到它,因为
被浏览器解释为一个标记。

我想您正在查看浏览器输出…检查源代码。换句话说,从浏览器中“查看源代码”…我敢打赌您确实看到了“xxxbb”:)可能是重复的哦,是的!太傻了。firebug建议裁剪标记,但在真实的源代码中它显示了标记。谢谢!