2012-08-24 42 views
0

我有一个名为$ value的变量,它具有字符串值。当我回显这个$值时,我可以看到整个字符串。但是,当我在html文本框的值字段中传递它时,我只能看到字符串的第一个单词。以下是代码: -当作为变量输入值时,字段以空格分隔字符串

$check = '<input type="checkbox" name="transcript'.$i.'" value=0 '.$checked.' />'; 
$value = $DB->get_field('course_completions', 'REMARKS', array ('course'=>$course->id, 'userid'=>$this->user->id), $strictness=IGNORE_MISSING); 
$remark = '<input type="text" name="remark'.$i.'" value ='.$value.' size="30"/>'; 

例如: - > 如果$值是一个名为“第一评论”的字符串,我只能看到“第一”在HTML文本框中,并且得到的html代码生成外观如: -

<input type="text" name="remark1" value="First" comment="" size="30"> 

有人可以帮我解决这个问题吗?

+1

报价在HTML同样的属性,调用'它ヶ辆($值,ENT_QUOTES)' 。 'value =''。htmlentities($ value,ENT_QUOTES)。'“...'你应该_always_引用你的HTML属性。 –

+0

@MichaelBerkowski - 这是不是答案?作为回答发布,我会删除我的... – Robbie

+0

@Robbie你可以拥有它。我正在寻找经常被问到的重复的B/C。 –

回答

2

变化

$remark = '<input type="text" name="remark'.$i.'" value ='.$value.' size="30"/>'; 

$remark = '<input type="text" name="remark'.$i.'" value ="'.htmlspecialchars($value).'" size="30"/>'; 
+0

使用'htmlentities()'与'ENT_QUOTES',因为它会编码单双&# –

+0

@MichaelBerkowski为什么单引号需要逃脱? –

+0

@Jack在这种情况下,它们不是一般用法,而是一种很好的习惯,因为您可能会引用attrs单个或双引号,而不必担心是否需要ENT_QUOTES或ENT_NOQUOTES来处理'htmlspecialchars()'。 –

0

你可以简单的写:

$remark = '<input type="text" name="remark'.$i.'" value ="'.$value.'" size="30"/>'; 
相关问题