Php 在HTML echo中使用变量转义双引号
对于包含HTML的echo中的变量,我应该在哪里添加斜杠以转义双引号 例如:Php 在HTML echo中使用变量转义双引号,php,html,mysql,variables,addslashes,Php,Html,Mysql,Variables,Addslashes,对于包含HTML的echo中的变量,我应该在哪里添加斜杠以转义双引号 例如: echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />"; 使用htmlentities: echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />"; echo”“; 如何使用单引号,这样就不必转义任何引号。
echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />";
使用
htmlentities
:
echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />";
echo”“;
如何使用单引号,这样就不必转义任何引号。
像这样:
echo';
关于使用PHP输出HTML的一些提示:
echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';
或者,在HTML模式下:
?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" />
<?php
?>
对于htmlspecialchars
FYI,对于双引号值
属性,htmlspecialchars
的默认值应该足够了,这样您就可以安全地省去第二个和第三个参数了。@Phil默认值应该足够了,但是他们过去没有:)PHP最大的问题是它的历史:)htmlspecialchars的默认值应该足够一个双引号的值了
不,至少对我来说,我需要一个ENT\u引号
来让htmlspecialchars
起作用。这似乎与操作无关。(这里的问题似乎是如何逃避html属性值)公平点-我最初误解了这个问题。编辑。
echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';
printf('<input type="hidden" name="id" value="%s" />',
htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8')
);
?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" />
<?php