在 HTML 回显中使用变量转义双引号

2022-08-30 14:13:21

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

例:

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

这部分:

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

答案 1

使用PHP输出HTML的一些提示:

  1. 使用单引号,这样您就不必转义双引号(使用回声时),
  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

答案 2

用:htmlentities

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

推荐