我正在尝试使用php变量填充HTML文本框。变量是一个带有单引号的字符串,并从数据库中检索。
当我回显变量时,它看起来应该是 - 即。 “这是我的字符串”所以,它正确显示'单引号。
但是当我尝试将该变量放入文本框字段时,即。
<? echo("<input type='text' name = 'title' value='$title'/>");?>
引号被忽略..
我非常感谢任何帮助,因为我尝试通过一些HTML格式化函数运行变量,但无济于事。
答案 0 :(得分:6)
您应该将其更改为:
<input type="text" name="title" value="<?php echo htmlentities($title, ENT_QUOTES); ?>" />
htmlspecialchars()和htmlentities()用于使用正确的编码将字符串转换为HTML。
ENT_QUOTES
选项可确保撇号和语音标记也正确编码。
答案 1 :(得分:1)
使用带有ENT_QUOTES标记的htmlentities
或htmlspecialchars
在输出文本之前转义文本中的引号。
答案 2 :(得分:1)
<?php echo '<input type="text" name="title" value="'.htmlentities($title, ENT_QUOTES).'" />'; ?>