0

我有以下代码:

$string = "aaa<test>xxx</test>bbb";
echo substr($string, 9);

结果应该是: xxx</test>bbb

与此同时,我只收到: xxxbbb

标签怎么了?为什么这个功能会自动裁剪它!如果我用 [ 替换 < 作品...我想在我的变量中获得一个结束标签。

4

4 回答 4

2

如果您查看源代码,您还将有</test>标签。它在浏览器中不可见,因为它已经被渲染为空。

要打印这种结果,请使用

var_dump( substr($string, 9) );
于 2013-01-25T08:01:56.580 回答
0

这是因为浏览器将其<test></test>作为 html 标签,因此您无法在浏览器中看到它。

查看源代码会对您有所帮助。

于 2013-01-25T08:04:03.093 回答
0

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

xxx</test>bbb

你可以看到它,因为它</test>被浏览器解释为标签。

于 2013-01-25T08:05:04.417 回答
0

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

于 2013-01-25T08:01:54.133 回答