我正在对数据库进行查询,并在输入类型文本中显示值,如下所示:
<input type='text' name='title' value="<?php echo $noticia->_title; ?>" />
如果来自数据库的文本在“”内,则文本不会出现,因为值为“”。如果切换到'',如果来自数据库的文本在''内,则会出现同样的问题。我该如何解决这个问题?
答案 0 :(得分:3)
value="<?php echo htmlspecialchars($noticia->_title) ?>"
htmlspecialchars()会对那里的任何HTML metacharcters进行编码,否则会破坏你的形式,例如
$title = 'Hello "Joe"';
<input ... value="Hello "Joe"" />
^---breaks the form
变为
$title = htmlspecialchars('Hello "Joe"');
<input ... value="Hello "Joe"" />
答案 1 :(得分:2)
使用htmlspecialchars
将文本转换为HTML。
echo htmlspecialchars($noticia->_title);