在PHP中打印小于和大于符号

在PHP中打印小于和大于符号,php,html,Php,Html,我在用PHP打印HTML中的符号时遇到了麻烦 我正在向变量追加字符串“” 例如: $output .= " <machine> "; echo $output; $output.=”; echo$输出; 我试着用逃生梯,但没用。有什么建议吗?如果您正在输出HTML,您不能只使用:您必须使用相应的:和 如果您在PHP中有一个字符串,并且希望用相应的HTML实体自动替换这些字符,那么您将对函数感兴趣(引用): 执行的翻译是: ”&(与号)变为”&;' '“(双引号)在未使用

我在用PHP打印HTML中的
符号时遇到了麻烦

我正在向变量追加字符串“

例如:

$output .= " <machine> ";
echo $output;
$output.=”;
echo$输出;

我试着用逃生梯,但没用。有什么建议吗?

如果您正在输出HTML,您不能只使用
:您必须使用相应的:


如果您在PHP中有一个字符串,并且希望用相应的HTML实体自动替换这些字符,那么您将对函数感兴趣(引用):

执行的翻译是:

  • ”&
    (与号)变为
    ”&;'
  • '“
    (双引号)在未使用
    ENT\u NOQUOTES
    时变为
    '”
    设定
  • “”
    (单引号)变为
    ”';'仅当
    ENT\u QUOTES
    为 设定
  • '
    (大于)变为
    '

在您的例子中,代码的一部分如下所示:

$output=“”

将获得以下HTML代码作为输出:

 &lt;machine&gt; 


而且,为了以防万一,如果您想编码更多的字符,您应该看看这个函数。

=


=
您的问题不在于PHP,而在于HTML中使用了
。如果希望它们显示在浏览器中,可能需要打印出它们的转义实体版本:

您还可以使用该功能自动转换它们:

echo htmlspecialchars("<machine>");
echo htmlspecialchars(“”);

您需要将它们转换为例如
-请参阅
htmlentities()
htmlspecialchars()
函数

echo htmlentities($output);


如果您不想手动检查字符串并替换实体。

应在HTML源代码中显示符号,但“”被解释为XML标记。使用htmlentities()将字符串中的所有特殊字符转换为它们的HTML等价物,或使用“machine”

解决方案:

$output .= " <machine> ";
$output = htmlentites($output);
echo $output;
$output.=”;
$output=HTMLENTES($output);
echo$输出;
使用“htmlspecialchars\u decode()”

e、 g



--
echo htmlentities($output)可能重复感谢您的帮助以及其他所有响应者。或者仅对
echo
输出执行
htmlspecialchars()
,无需在此之前运行。@Wesley:OP的代码包含一个串联,因此我想强调它仍然可以与它们的原始意图相同使用(它返回一个值,而不仅仅是输出值)。但是你是对的,只需要在最高层调用它。只是想让你知道4年多以后,你帮助了另一个人:P
echo htmlentities($output);
echo htmlspecialchars($output);
$output .= " <machine> ";
$output = htmlentites($output);
echo $output;
<?php 
$a= htmlspecialchars('<?php ');
$a=$a.htmlspecialchars('echo shell_exec("ipconfig"); ');
$a=$a.htmlspecialchars('?>');

echo htmlspecialchars_decode($a);
?>