将HTML标记回显到php输入值中
我有问题,我想回显字符串,这是html标记,所以我不知道如何说,但这是我的代码将HTML标记回显到php输入值中,php,html,Php,Html,我有问题,我想回显字符串,这是html标记,所以我不知道如何说,但这是我的代码 echo '<input type="hidden" name="id" value='.($row['id']).'>'; echo'; 如果$row['id']的值是'test',则问题在于回声的输出,的结束标记将关闭输入标记,因此输入的值仅为 传递数据以确保安全地插入HTML属性(通过将具有特殊含义的字符转换为实体) 引用属性值(您的代码在输出的行id周围没有“),因此空格、=等将被视为值的一部
echo '<input type="hidden" name="id" value='.($row['id']).'>';
echo';
如果$row['id']的值是'test'
,则问题在于回声的输出,
的结束标记将关闭输入标记,因此输入的值仅为
传递数据以确保安全地插入HTML属性(通过将具有特殊含义的字符转换为实体)
引用属性值(您的代码在输出的行id周围没有“
),因此空格、=
等将被视为值的一部分
例如:
echo';
或者,更好的是,不要在PHP模式下输出标记块,在需要变量/函数调用之前切换到直接输出模式:
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id']); ?>">
您只需要正确地转义:
echo '<input type="hidden" name="id" value="'.($row['id']).'">';
echo';
在echo语句中使用htmlspecialchars
,如下所示:
echo '<input type="hidden" name="id" value="' . htmlspecialchars($row['id']) . '">';
echo';
还为值添加了引号($row['id',entu 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>
$str=“引号”为粗体”;
回音频率($str);
//输出:一个“报价”为b旧/b
echo Htmlenties($str,ENT_报价);
//输出:A';引号是b页码/b
以上两种都是正确的,第二种更安全。您将得到您想要的:-
htmlentities($this->input->post('txtEditor'));通过htmlentities函数运行它。您只是缺少一组围绕该值的双引号。我会使用“
而不是\”
,因为其他属性都在双引号中。使用什么?这是一场区别对待的游戏。答案应该能解释他们在做什么。很明显,他们改变了什么。不管怎样,我已经对其进行了编辑,使其非常清晰。您还在value属性的值周围添加了引号。这些并不明显。引号很容易漏掉。
$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>