一尘不染

在HTML echo中用变量转义双引号[重复]

mysql

对于包含HTML的回显中的变量,我应在何处添加斜杠以避开双引号?

例:

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

这部分:

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

阅读 444

收藏
2020-05-17

共1个答案

一尘不染

使用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
2020-05-17