我从SQL数据库中提取信息,使用PHP Echo命令填充表单。 sql数据库中的一行包含HTML标记。
在提取信息并使用数据填充表单时,它不会在表单中提取HTML标记。它看起来像这样:
有没有办法在表单中填充完整的HTML标记?这是我目前使用的代码:
<input name="tag" type="text" id="tag" value="<?php echo $rows['tag']; ?>" size="30"/>
答案 0 :(得分:1)
是的,您需要使用htmlentities()
来显示实体代码(可以通过浏览器解析为纯文本),而不会强制浏览器呈现HTML。
echo htmlentities($rows['tag']);
答案 1 :(得分:1)
这应该这样做:
<input name="tag" type="text" id="tag" value="<?= htmlspecialchars($rows['tag']) ?>" size="30"/>
您正在输入框中插入双引号,如下所示:
value="<a href="http://www.google.com">Google</a>"
应使用函数htmlspecialchars
将其编码为html答案 2 :(得分:1)
您需要使用htmlentities()
或htmlspecialchars()
来转义要用于填充表单的html代码。 (见here)
它在任何情况下都很好,我甚至会说当你从数据库或其他不受信任的来源回显值时需要使用这些函数。这是为了防止脚本注入,这是Web开发中的一个主要缺陷。