使用HTML echo中的变量转义双引号

时间:2013-12-16 22:56:56

标签: php html mysql variables addslashes

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

示例:

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

这部分:

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

3 个答案:

答案 0 :(得分:49)

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

  1. 使用单引号,这样您就不必转义双引号(使用echo时),
  2. 使用htmlspecialchars()正确转义您可能拥有的任何“流氓”值。
  3. 使用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
    

答案 1 :(得分:2)

使用htmlentities

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

答案 2 :(得分:0)

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

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