在php中打印字符串

时间:2018-01-14 11:02:22

标签: php

我正在尝试在php中打印以下字符串

var_dump('RQC7<lzC;_ytr@ewm6Eo');

但它只打印RQC7。如果我删除了字符<,那么我会得到完整的字符串。我不明白为什么会这样。我用谷歌搜索但找不到任何答案。

我不得不使用图像,因为我无法在堆栈溢出中打印总字符串。

实际上这是共享密钥的一部分,客户端代码将使用$obj->getSharedSecret();进行访问。我只是使用var_dump()测试函数的输出。如果var_dump无法打印总字符串,那么这不能用于验证输入,对吗?

此致 坦维尔

3 个答案:

答案 0 :(得分:2)

您可能正在查看Web浏览器中的输出。

默认情况下,PHP将包含Content-Type: text/html响应标头,因此浏览器会尝试将结果解释为HTML。

在HTML中<表示“标记开始”。

如果您想将<作为数据加入,则需要使用字符引用,例如&lt;

使用htmlspecialchars函数将您的文本字符串转换为HTML字符串。

<?php
    echo htmlspecialchars('RQC7<lxC; etc etc');
?>

答案 1 :(得分:1)

因为“&lt;”是标签开始,它实际上是你想要的打印字符串,但你没有在你的HTML中看到它。您需要查看源代码或使用htmlentitieshtmlspecialchars函数。或者,如果您更喜欢使用var_dump进行此类打印安装xdebug(将字符串转换为正确的字符串表示形式)

答案 2 :(得分:-2)

你可以用这个

htmlentities('RQC7<lxc;_ytr@ewm6Eo');