2

我有$variable其中包含单维引号,像这样a's"d

我想将此变量写为复选框元素的值

<input type="checkbox" name="names[]" value="<?php echo $variable; ?>" />

但是当我在发送 html 表单后看到结果时,复选框的值不正确(原因是引号),正确的方法是什么,将这样的变量写为输入值?

4

3 回答 3

3

您可以转义维度引号:

<input type="checkbox" name="names[]" value="<?php echo str_replace('"','\\"',$variable); ?>" />

或者你可以使用htmlspecialchars() http://php.net/manual/en/function.htmlspecialchars.php

于 2012-12-21T16:46:32.647 回答
3

htmlentities与_ENT_QUOTES

<?php echo(htmlentities($variable, ENT_QUOTES | ENT_HTML401)); ?>
于 2012-12-21T16:46:47.420 回答
3

您想将您的字符编码为 html 元素,这样它们就不会破坏字符串。尝试这样的事情

$variable = htmlentities($variable);
<input type="checkbox" name="names[]" value="<?php echo $variable; ?>" />

如果您需要更多信息,规范写在这里http://php.net/manual/en/function.htmlentities.php

于 2012-12-21T16:48:09.510 回答