php - 使用 CodeIgniter 在表单中转义和显示字符串的正确方法

标签 php codeigniter escaping

我有一个网络表单,它接受有关一本书的信息(书名、作者、描述等)。我一直在使用 CodeIgniter 的事件记录数据库类来插入信息,并且 not 转义了查询,因为 CodeIgniter 文档声称已经这样做了(参见 here )。

那么问题来了:如果我输入的标题如“A Boy's Guide To The World”中有一个撇号,它会被转义并正确插入到数据库中。但是,当我以如下形式显示它时:

<input type="text" name="title" <?php if (isset($book)) { echo "value='" . $book->name . "' "; ?> />

它只会显示“A Boy”作为标题。我理解为什么撇号会损坏,并且可以想出很多方法来解决它,但是处理这种情况的最正确方法是什么

一如既往,非常感谢您的时间和知识!

最佳答案

您应该可以使用 html_escape() CodeIgniter 函数:

http://www.codeigniter.com/user_guide/general/common_functions.html?highlight=html_escape#html_escape

它基本上只是 htmlspecialchars PHP 函数的快捷方式。

关于php - 使用 CodeIgniter 在表单中转义和显示字符串的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652244/

相关文章:

javascript - 如何删除从 javascript var 转义的反斜杠?

python - 用于匹配两个字符之间的文本同时忽略反斜杠字符的正则表达式

php - MongoClient 和 MongoDB 的比较。为什么 MongoClient 更好?

php - Codeigniter $this->email->send() 在 mail() 时不工作

mysql - 使用 CodeIgniter Active Record 转换 MySQL 查询

codeigniter - 验证失败时重新填充单选按钮

javascript - 如何查看用户的当前位置?

php - 使正则表达式全有或全无

javascript - PHP 和 Javascript toast

c++ - 如何使用\转义序列