可能重复:
How to properly escape html form input default values in php?
如果我使用预设的HTML输入,例如:
$lmao=$_POST['lmao'];
echo <<<EOD
<input value="{$lmao}" name="lmao" type="text">
EOD;
如果“字符进入变量,则会导致poo,并且重新提交时也会丢失数据。
我当然可以:
preg_replace('/"/', '',$lmao);
但如果我想保留这句话怎么办?
答案 0 :(得分:2)
在HTML属性中输出的所有用户输入数据都应该通过htmlspecialchars运行。这会对引号和其他字符进行编码:
echo '<input value="'.htmlspecialchars($lmao).'" name="lmao" type="text">';