将PHP字符串变量添加到包含引号的文本框值

将PHP字符串变量添加到包含引号的文本框值,php,string,variables,escaping,quotes,Php,String,Variables,Escaping,Quotes,我试图用一个php变量填充一个HTML文本框。变量是一个字符串,其中有一个单引号,可从数据库中检索 当我回显变量时,它看起来就像它应该的那样-即“这是我的字符串”,因此,它正确地显示了“单引号” 但当我尝试将该变量放入文本框字段时,即 <? echo("<input type='text' name = 'title' value='$title'/>");?> 在输出文本之前,使用htmlspecialchars或htmlspecialchars和ENT\u QUOT

我试图用一个php变量填充一个HTML文本框。变量是一个字符串,其中有一个单引号,可从数据库中检索

当我回显变量时,它看起来就像它应该的那样-即“这是我的字符串”,因此,它正确地显示了“单引号”

但当我尝试将该变量放入文本框字段时,即

<? echo("<input type='text' name = 'title' value='$title'/>");?>

在输出文本之前,使用
htmlspecialchars
htmlspecialchars
和ENT\u QUOTES标志来转义文本中的引号。


<?php echo '<input type="text" name="title" value="'.htmlentities($title, ENT_QUOTES).'" />'; ?>

您应该将其更改为:

<input type="text" name="title" value="<?php echo htmlentities($title, ENT_QUOTES); ?>" />

你能澄清一下“引号被忽略了”是什么意思吗?你是说像
这样的字符串“你过得怎么样?”
变成了
你过得怎么样?
?+1用于将PHP放在它所属的位置,在
属性中,这非常快。。不过我已经整理好了。问题是我在单引号中有值='。变量中的单引号正在结束它。。我只是在value=中使用了转义字符,并使用了双引号。。value=\“$title\”@Mark:即使现在已经可以使用了,您仍然应该执行上述操作。对该变量的内容进行一个小的更改,它可能会中断。一般来说,您输出的任何变量都应该这样处理。如果
$title
包含双引号?