我如何能够将代码段插入数据库,然后在 textarea 中以相同方式显示代码 当我插入它时。
比较&中的代码出来,他们永远不会是一样的,出于某种原因,我无法让它发挥作用。
$db = new sqlite3('test.db');
$r = $db->query("select * from test where id='1'");
$f = $r->fetchArray();
echo "<textarea rows='10' style='width:500px;'>$f[data]</textarea>";
$db->close();
这是我测试的代码
't apple \n\r
♦ ♦ ♦ black (solid) diamond suit
<textarea></textarea>
$£%^&*()!@">RWH{{@£})"":?'
<form>dfddf
<input type="button">
</form>
如何正确地将其插入数据库以在textarea中以相同的方式显示数据?
答案 0 :(得分:0)
强烈建议不要在数据库中存储代码,这可能会导致一些非常严重的安全漏洞,但在将代码添加到数据库时可以使用htmlentities()
。
请记住,这不会让您完全安全,但是,它至少会将标记更改为符号。
htmlentities - 将所有适用的字符转换为HTML实体
这将完成将结果存储到数据库中所需的操作:
$string = '<h1>This is a Heading 1</h1>';
现在,在运行sql
查询时,请使用字符串添加htmlentities
函数:
htmlentities($string);
如果你打印,你会看到:
<h1>This is a Heading 1</h1>
而不是: