我正在通过htmlspecialchars()
运行CKEditor TextArea WYSIWYG字段并将其转储到数据库中。
然后,我获取数据库中的字段,并将HTML输出到屏幕。它输出HTML而不实际使用HTML进行标记的任何原因是什么?
数据转储的代码:
if (isset($_POST['submit'])) {
$ticketBody = htmlspecialchars($_POST['ticketBody']);
$sql = "INSERT INTO tickets (ticket_text) VALUES(:ticketBody)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':ticketBody', $ticketBody, PDO::PARAM_STR);
$stmt->execute();
}
遍历数据
foreach ($rows as $row) {
<?php echo $row['ticket_text']; ?>
}
输出的截屏视频:http://screencast.com/t/wbUUS3OrW
注意:将
htmlspecialchars_decode
添加到我的echo
语句中可以,但是却使我的文本变成白色!我也不知道为什么-http://screencast.com/t/JgJMaoCdyuTMstrip_tags()
功能也不起作用。 最佳答案
使用mysqli_real_scape_string而不是html_special_chars,这将维护您的html代码和特殊字符,同时数据库保持安全,在下一个链接中,您可以找到文档。
For you security don't click here, never!!