我有问题,我想要回显字符串,这是html标签,所以我不知道怎么说,但这是我的代码
echo '<input type="hidden" name="id" value='.($row['id']).'>';
其中$ row ['id']的值为'<b>test</b>'
,问题在于echo的输出,<b>
的结束标记将关闭输入标记,因此值为只输入'<b'
感谢。
答案 0 :(得分:5)
htmlentities($row['id'],ENT_QUOTES)
这会将<
>
编码为<
和>
$str = "A 'quote' is <b>bold</b>";
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
// Outputs: A 'quote' is <b>bold</b>
以上两个都是正确的,第二个更安全。
答案 1 :(得分:3)
htmlspecialchars
传递数据,以便安全插入HTML属性(通过将具有特殊含义的字符转换为实体)。"
),以便将空格=
等视为值的一部分这样:
echo '<input type="hidden" name="id" value="'. htmlspecialchars($row['id']) . '">';
或者,更好的是,不要在PHP模式下输出标记块,切换到直接输出模式,直到需要变量/函数调用:
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id']); ?>">
答案 2 :(得分:2)
在echo语句中使用htmlspecialchars
,如下所示:
echo '<input type="hidden" name="id" value="' . htmlspecialchars($row['id']) . '">';
还为value
的值添加了引号。
答案 3 :(得分:1)
你只需要妥善逃脱:
echo '<input type="hidden" name="id" value="'.($row['id']).'">';
答案 4 :(得分:-1)
您将得到想要的东西:-
htmlentities($ this-> input-> post('txtEditor'));