如何为html输入(使用php)转义引号?

时间:2012-07-29 08:57:10

标签: php regex security escaping

  

可能重复:
  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);

但如果我想保留这句话怎么办?

1 个答案:

答案 0 :(得分:2)

在HTML属性中输出的所有用户输入数据都应该通过htmlspecialchars运行。这会对引号和其他字符进行编码:

echo '<input value="'.htmlspecialchars($lmao).'" name="lmao" type="text">';