PHP和HTML的字符问题
我有一个变量,就像 $name='18英寸液晶电视' 当我尝试在HTML输入中使用它时,它不会显示字符后面的“PHP和HTML的字符问题,php,html,Php,Html,我有一个变量,就像 $name='18英寸液晶电视' 当我尝试在HTML输入中使用它时,它不会显示字符后面的“ 我能做什么?使用htmlspecialchars或htmlspecialchars: htmlentities将执行所有html标记 htmlspecialchars只需执行以下操作: & " ' < > 因此,18之后的“关闭value属性当您在HTML中输出特殊字符(&“)时,您需要对其进行转义,1方法是这样做的: $name=htmlentities('18
我能做什么?使用
htmlspecialchars
或htmlspecialchars
:
htmlentities
将执行所有html标记
htmlspecialchars
只需执行以下操作:
& " ' < >
因此,18之后的
“
关闭value属性当您在HTML中输出特殊字符(&“
)时,您需要对其进行转义,1方法是这样做的:
$name=htmlentities('18“LCD TV');
不使用htmlspecialchars
可能会导致跨站点脚本攻击(搜索XSS)。请使用以下方法:
<input type="text" value="<?php echo htmlspecialchars($name, ENT_QUOTES);?>" />
我们需要看看您是如何在HTML中显示它的。我猜双引号过早地关闭了标记。它没有显示它在哪里?您试图在哪里访问用户输入的值,在客户端的javascript中,还是在服务器端处理您的表单?
<input type="text" value="<?php echo $text;?>" />
value="18 " LCD TV"
<input type="text" value="<?php echo htmlspecialchars($name, ENT_QUOTES);?>" />