32

对于包含 HTML 的 echo 中的变量,我应该在哪里添加斜杠来转义双引号?

例子:

echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />";

这部分:

value=".$row['id']."
4

3 回答 3

62

使用 PHP 输出 HTML 的一些技巧:

  1. 使用单引号,这样您就不必转义双引号(使用 echo 时),
  2. 用于htmlspecialchars()正确转义您可能拥有的任何“流氓”值。

使用示例echo

echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';

或者printf()

printf('<input type="hidden" name="id" value="%s" />', 
    htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8')
);

或者,在 HTML 模式下:

?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" />
<?php
于 2013-12-16T22:59:56.853 回答
4

使用htmlentities

echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />";
于 2013-12-16T22:58:19.693 回答
0

如何使用单引号,这样您就不必转义任何引号。像这样:

echo '<input type="hidden" name="id" value="'.$row['id'].'" />';
于 2013-12-16T22:59:55.607 回答